Урок - Шаблон webform-form.tpl.php

Главная » Курсы » Курс Drupal 7, Темизация для зайцев. » Урок - Шаблон webform-form.tpl.php

Обучающий онлайн курс
Drupal 7, Темизация для зайцев.

Лицензия: Копирование запрещено.

Шаблон webform-form.tpl.php может использоваться в следующих вариантах:

  • webform-form.tpl.php - глобальный шаблон для всех форм.
  • webform-form-<nid>.tpl.php - индивидуальный шаблон для одной формы.

Для того, что бы внести изменения в шаблон webform-form.tpl.php нужно скопировать файл  ./sites/all/modules/webform/templates/webform-form.tpl.php в директорию нашей темы ./sites/all/themes/vera/webform-form.tpl.php.

 

Изменяя файл ./sites/all/themes/vera/webform-form.tpl.php мы вносим изменения для всех форм модуля Webform. Что бы вносить изменения для одной конкрентной формы следует скопировать файл  ./sites/all/modules/webform/templates/webform-form.tpl.php в директорию нашей темы ./sites/all/themes/vera/webform-form-<nid>.tpl.php, где <nid> – ID материала к которому относится форма.

Давайте внесем изменения в файл webform-form.tpl.php:

 

<div style="padding:20px;border:1px orange solid;"> <div style="background:lightgreen;">Моя смешная форма</div> <?php   if (isset($form['submission_info']) || isset($form['navigation'])) {     print drupal_render($form['navigation']);     print drupal_render($form['submission_info']);   }   print drupal_render($form['submitted']);   print drupal_render_children($form);   if (isset($form['submission_info']) || isset($form['navigation'])) {     unset($form['navigation']['#printed']);     print drupal_render($form['navigation']);   }

?> </div>

В результате должна появится граница у формы оранжевого цвета.

В файле webform-form-<nid>.tpl.php ( у нас это файл webform-form-653.tpl.php) сохраняем следующий код:

 

<div style="padding:20px;border:5px LightPink solid;">
    <div style="background:lightblue;">Еще одна смешная форма</div>
<?php
  if (isset($form['submission_info']) || isset($form['navigation'])) {
    print drupal_render($form['navigation']);
    print drupal_render($form['submission_info']);
  }

  print drupal_render($form['submitted']);

  print drupal_render_children($form);

  if (isset($form['submission_info']) || isset($form['navigation'])) {
    unset($form['navigation']['#printed']);
    print drupal_render($form['navigation']);
  }
?>
</div>

 

в результате все формы кроме принадлежащей 653 материалу будут с оранжевой границей, а форма для 653 материала будет с розовой границей.