Логотип

Документация по макросам и шаблонам UMI.CMS

webforms insert()

ОписаниеPHP-шаблонизаторXSLT-шаблонизаторTPL-шаблонизатор

Название

%webforms insert()% — Выводит форму обратной связи (deprecated).

Параметры: webforms insert([who, template = 'default'])

who

Id или e-mail адресата (e-mail должен быть указан в настройках модуля).

template

Имя шаблона, по которому формируется тело письма.

Описание

Устаревший макрос. Оставлен в целях обратной совместимости.

Макрос выводит форму обратной связи. Вывод формы осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — default.tpl. Если в параметре who пустая строка, выводится выпадающий список всех адресатов, указанных в настройках модуля.

Обратите внимание, что наличие макроса %to_block% в блоке обязательно.

Используемые шаблоны

Макрос оперирует шаблонами, находящимися в каталоге /tpls/webforms/.

Используемые блоки шаблона

webforms_block

Блок для вывода формы обратной связи

%to_block%

Выводит адресатов по блоку webforms_to_block данного шаблона, либо скрытый тег input. Присутствие этого макроса в блоке webforms_block обязательно.

webforms_to_block

Блок вывода всех адресатов. Указывает место, куда будет выведен список адресатов.

webforms_to_line

Блок для вывода информации о каждом адресате.

%id%

id адресата.

%text%

имя адресата.

%list-class-first%

в случае, если элемент первый, выводит "first"

%list-class-last%

в случае, если элемент последний, выводит "last"

%list-class-odd%

в случае, если элемент четный, выводит "odd"

%list-class-even%

в случае, если элемент нечетный, выводит "even"

%list-position%

вставляет порядковый номер в списке

Примеры использования

Создайте файл sample.tpl в директории /tpls/webforms/ и напишите в нем следующий код:

<?php

$FORMS = Array();

$FORMS['webforms_block'] = <<<BLOCK

 <form method="post" action="%pre_lang%/webforms/post/">

  <table border="0" width="100%">

   <tr>
    <td width="40%">Куда отправить:</td>

    <td>%to_block%</td>
   </tr>

   <tr>
    <td>Ваше имя:</td>

    <td>
     <input type="hidden" name="labels[fname]" value="Имя" />
     <input type="text" name="data[fname]" class="textinputs" />
    </td>
   </tr>

   <tr>
    <td>Ваша фамилия:</td>

    <td>
     <input type="hidden" name="labels[lname]" value="Фамилия" />
     <input type="text" name="data[lname]" class="textinputs" />
    </td>
   </tr>

   <tr>
    <td>Ваше отчество:</td>

    <td>
     <input type="hidden" name="labels[mname]" value="Отчество" />
     <input type="text" name="data[mname]" class="textinputs" />
    </td>
   </tr>

   <tr>
    <td>Ваш e-mail:</td>

    <td>
     <input type="text" name="data[email_from]" class="textinputs" />
    </td>
   </tr>

   <tr>
    <td>Тема сообщения:</td>

    <td>
     <input type="text" name="data[subject]" class="textinputs" />
    </td>
   </tr>

   <tr>
    <td colspan="2">Сообщение:</td>
   </tr>

   <tr>
    <td colspan="2">
     <textarea name="message" class="textinputs" style="width: 385px; height: 200px;"></textarea>
    </td>
   </tr>


  </table>

  <p><input type="submit" value="Отправить" /></p>

 </form>

BLOCK;

$FORMS['webforms_to_block'] = <<<TO_BLOCK

 <select name="email_to" class="textinputs">%lines%</select>

TO_BLOCK;

$FORMS['webforms_to_line'] = <<<TO_LINE

 <option value="%id%">%text%</option>

TO_LINE;

?>

В шаблоне можно использовать любое количество полей ввода информации, где имя полей ввода строится по шаблону: data[any_field_name]. Для того, чтобы указать метку (label) поля, используйте <input type="hidden" name="labels[any_field_name]" value="Метка поля" />.

Создайте страницу «Обратная связь» в модуле «Структура». В редакторе содержимого страницы введите макрос %webforms insert('', 'sample')%. Сохраните страницу.