Saltar al contenido

En la misma fecha de publicación

Hace 1 año: El blog no estaba muerto, sólo de vacaciones

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

Esta entrada del blog, la escribo porque fue 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 botón 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.

Publicado en las categoría(s):Desarrollo web

6 comentarios

  1. yury yury

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

  2. gilberto 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.

  3. Joyal 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. Juanjo 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

Deja un comentario

Descubre más desde El blog de Skatox

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo