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.
6 comentarios