Создание шаблона формы в Drupal

10 октября 2014 - 12:02

Задача разработки шаблона для формы в Друпал может возникнуть, когда, например, нужно объединить несколько полей в один div-контейнер. Рассмотрим решение данной задачи на примере темизации формы комментирования.

В template.php имплементируем hook_theme():

<?php
/**
 * Implements hook_theme().
 */

function YOURTHEME_theme($existing, $type, $theme, $path) {
  return array(
    "comment_form" => array(
      'render element' => 'form',
      'template' => "comment-form"
    )
  );
}
?>

Далее в папке темы сайта создаем файл шаблона формы добавления комментариев comment-form.tpl.php. Допустим, нам нужно объединить в контейнер поля ввода имени и контактной информации автора:

<div class="container">
  <?php print drupal_render($form['author']); ?>
</div>
<?php print drupal_render_children($form); ?>

Таким способом можно создавать шаблоны для любой формы сайта на Drupal.