Страница регистрации пользователя темы в Drupal 6 с подтемой Omega - PullRequest
0 голосов
/ 20 августа 2011

Я нашел множество уроков о том, как это сделать на D6, НО, кажется, что пример кода, который я нашел, не совсем работает на подтеме Omega.

Вот код, который я нашел, он подходит мне лучше всего ( через Trellon ):

Внутри template.tpl.php:

<?php
function themename_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
    ),
    ...
  );
}
?>

А вот форма user-register.tpl.php:

<div id="registration_form">
  <div class="field">
    <?php
      print drupal_render($form['account']['name']); // prints the username field
    ?>
  </div>
  <div class="field">
    <?php
      print drupal_render($form['account']['pass']); // print the password field
    ?>
  </div>
  <div class="field">
    <?php
        print drupal_render($form['submit']); // print the submit button
      ?>
    </div>
  </div>
</div>

Дело в том, что в моем файле template.tpl.php я уже объявил mytheme_theme, поэтому я не знаю, как добавить новый код.

Внутри моей папки подтем омеги:

/**
 * Implementation of HOOK_theme().
 */
function lcph_theme(&$existing, $type, $theme, $path) {
  $hooks = omega_theme($existing, $type, $theme, $path);
  // Add your theme hooks like this:
  /*
  $hooks['hook_name_here'] = array( // Details go here );
  */
  // @TODO: Needs detailed comments. Patches welcome!
  return $hooks;

}

На самом деле, если я просто скопирую / вставлю код в файл шаблона, я получу следующую ошибку:

Fatal error: Cannot redeclare lcph_theme() (previously declared in /sites/all/themes/lcph/template.php:22) in /sites/all/themes/lcph/template.php on line 125

Как я могу добавить пример кода внутри моего шаблона подтемы омега? Спасибо за ваше руководство и помощь!

Rosamunda

1 Ответ

1 голос
/ 20 августа 2011

не добавляйте ничего в файл template.php, если вы не ищете в своем файле template.php функцию omega_theme (), если вы ее нашли, затем измените ее ... если вы не нашли ее, создайте свою собственную ...... я вас точно не понимаю, но, может быть, следующие шаги помогут вам

1 - найти файл template.php *, если вы его не нашли, а затем создать свой собственный в папке вашей темы 2- найдите функцию urthemename_theme () в вашем файле template.php *, если вы нашли ее, то можете изменить ее ... если вы не можете создать свою собственную функцию, как показано ниже

function omega_theme($existing, $type, $theme, $path) {
  return array(
    'user_register' => array(
      'arguments' => array('form' => NULL),
      'template' => 'user-register', // this is the name of the template
    ),
  );
}

3- найдите файл user_register.tpl.php в файлах вашей темы ... если вы его не нашли, создайте свой собственный и вставьте в него следующий код

<div id="registration_form">
  <div class="field">
    <?php
      print drupal_render($form['account']['name']); // prints the username field
    ?>
  </div>
  <div class="field">
    <?php
      print drupal_render($form['account']['pass']); // print the password field
    ?>
  </div>
  <div class="field">
    <?php
        print drupal_render($form['submit']); // print the submit button
      ?>
    </div>
  </div>
</div>

Я не знаю, что вы имеете в видупод файлом template.tpl.php ... я думаю, что вы имеете в виду template.php, я надеюсь, что это поможет вам

...