Suscribirse al RSS

¿Cómo modificar la pantalla de registro en Drupal?


Esta entrada del blog, la escribo porque fué algo que surgió en el trabajo y al buscar información en la red casi no conseguí­ por lo que decidí­ colocar esto en mi blog. Además, también mostraré como agregar campos nuevos que se incluyen a cada usuario mediante el módulo profile al formulario de registro.

El método a usar va a ser una moficación del tema, especí­ficamente para la página de registro de usuario (user/register), para ello utilizaremos una serie de cosas que nos provee Drupal. Lo que haremos es editar el archivo template.php que se encuentra dentro de la carpeta de nuestro tema y agregar la siguiente función:
function ELNOMBREDETUTEMA_theme($existing, $type, $theme, $path) {
return array(
// tell Drupal what template to use for the user register form
'user_register' => array(
'arguments' => array('form' => NULL),
'template' => 'user-register', // this is the name of the template
),
);
}

Recuerda cambiar ELNOMBREDETUTEMA por el nombre del tema que estas usando y que corresponde el archivo template.php, esta función lo que hará es que al entrar a la página user/register obliga a usar el template con el nombre de user-register.tpl.php. Bueno ahora lo siguiente que haremos es crear el archivo user-register.tpl.php de acuerdo a nuestras necesidades. En el caso que voy a poner aquí­ es un registro sencillo que imprime: el texto de registro, el nombre usuario, el correo electrónico a usar, un campo personalizado del módulo profile, los campos ocultos y obligatorios del formulario el boton de enviar.

<div id="registration_form">
<?php print drupal_render($form['user_registration_help' ]); ?>
<div class="field">
<?php print drupal_render($form['account']['name']); ?>
</div>
<div class="field">
<?php print drupal_render($form['account']['mail']); ?>
</div>
<div class="field">
<?php print drupal_render($form['category']['profile_field']); ?>
</div>
<div class="field">
<?php
print drupal_render($form['form_id']);
print drupal_render($form['form_build_id']);
?>
</div>
<div class="field">
<?php print drupal_render($form['submit']); ?>
</div>

Ya con eso solo les falta jugar y modificar las cosas a su antojo.

Comparte el artículo

    Etiquetas: , , , , ,

    6 Comentarios Dejar comentario

    1. Juanjo #

      Hola, estoy haciendo una web con drupal y he intentado seguir tu tutorial para poder modificar la página de registro.

      El tema que estoy usando es garland y me muestra la pantalla que uso como plantilla, ya que haciendo pruebas he conseguido que en vez del formulario de registro me aparezca una frase que meto yo.

      Hasta aquí bien, el problema es cuando trato de usar tu ejemplo y que me aparezcan distintos campos de registro, a partir de ese momento la página sale en blanco.

      Un saludo

    2. No entendi bien, lo que dices. Que campos deseas colocar?

    3. Joyal #

      Que tal pana, ando aqui aprendiendo Drupal, tambien algo dle trabajo, y necesito hacer justo lo que comentas, segui tus pasos, pero no me muestra la plantilla, me muestra el mismo formulario, si, puse el nombre del theme, y puse la funcion dentro del template.php , y tambien cree el tpl del user register, con el nombre como lo pones, sabras por que no muestra la nueva modificacion y sigue mostrando el anterior?, otra cosa el archivo template.php lo tuve que crear, no lo tenia, por si te preguntas que alomejor hay otro tpl que llama ese archivo

      Saludos

    4. gilberto #

      Y para modificar el de contact o crear uno igual al de contactenos? o crear uno desde 0 pero no con webform, porque necesito el boton limpiar y solo trae enviar.
      Gracias.

    5. Hola, y com hago para modificar el user, pero que aparezca la clave pass. Gracias.

    6. yury #

      Hola, tienes idea de como adjuntar archivos en el profile de user? es que solo me da opcion a adjuntar imagenes

    Escribir un comentario





    Foto de skatox

    Autor: Miguel Useche
    País: Venezuela

    Contáctame ó escrí­beme

    También estoy en:

    Linux user counter

    Blogalaxia

    Firefox Download Button