Drupal 7: Шаблон для страницы регистрации пользователя?

Как бы я сделал шаблон для страницы регистрации пользователя? Я хочу создать тему для всей страницы, а не только для формы. я пробовал page--user-register.tpl.php но это не работает.

5 ответов

Вы хотите использовать page--user--register.tpl.php вместо page--user-register.tpl.php,

page--user-register.tpl.php меняет шаблон для страницы user-register, в то время как page--user--register.tpl.php меняет шаблон для страницы user/register,

Drupal из коробки не предоставляет никаких шаблонов предложений для формы регистрации. Вам нужно написать собственный модуль, чтобы добавить его. Вы можете сделать что-то вроде этого:

/**
 * Implements hook_theme().
 */
function mymodule_theme() {
  $items = array(
    'user_register_form' => array(
      'render element' => 'form',
      'template' => 'templates/user-register-form',
    ),
  );
  return $items;
}

Тогда у вас будет шаблон в mymodule / templates, называемый user-register-form.tpl.php, который вы можете настроить или переопределить в своей теме.

Я рекомендую использовать модуль разработчика тем

Он покажет вам все предложения шаблонов для любой данной страницы, и как их назвать. Также убедитесь, что вы очищаете свой кеш.

Также это отличный ресурс

Drupal 7

Добавьте этот код в ваш template.php в каталоге вашей темы.

    function yourtheme_theme() {
      return array(
        'user_login' => array(
          'template' => 'user-login',
          'arguments' => array('form' => NULL),
        ),
      );
    }

    function yourtheme_theme() {
      $items = array();
      $items['user_login'] = array(
        'render element' => 'form',
        'path' => drupal_get_path('theme', 'yourtheme') . '/templates',
        'template' => 'user-login',
        'preprocess functions' => array(
           'yourtheme_preprocess_user_login'
        ),
      );
      return $items;
    }

    function yourtheme_preprocess_user_login(&$vars) {
      $vars['intro_text'] = t('This is my awesome login form');
    }

Создайте файл в папке "templates" вашей темы с именем user-login.tpl.php.

Добавьте этот код и измените "yourtheme" на название вашей темы.

 <?php print drupal_render_children($form) ?>

Очистить кеш.

Источник (где вы можете найти подробную информацию о том, как это сделать для формы регистрации пользователя, формы пароля пользователя и Drupal 6) https://drupal.org/node/350634

Другой способ будет использовать "Панель" для создания страницы регистрации custon:

  1. Установите и активируйте Panel Panel
  2. Создайте новую страницу "страница регистрации" и разработайте макет
  3. Добавьте контент в свои регионы. В вашем случае "блок регистрации" или "блок входа"
Другие вопросы по тегам