<?=$this->render(array('message_post' => $this->macros('forum', 'message_post', array($page->getId()))), 'forum/message_post')?>
В XSLT-шаблонизаторе форму необходимо самостоятельно задать в шаблоне, так же как и описать два различных случая для гостя, и для авторизованного пользователя.
Форма выводится по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — default.tpl
.
Макрос выводит две различные формы для авторизованного пользователя и для гостя. Для гостя обязательно заполнение CAPTCHA (защита от автоматических запросов), поэтому в блоке шаблона add_message_guest должен быть прописан макрос %system captcha()% .
Используемые блоки шаблона
Примеры использования
Вывод формы добавления сообщения: %forum topic_post('/sample_forum/sample_topic')%.
Вывод формы добавления сообщения по пользовательскому шаблону: %forum topic_post('/sample_forum/sample_topic', 'sample')%.
<?php
$FORMS['add_message_user'] = <<<ADD_MESSAGE_USER
<form method="post" action="%action%" onsubmit="javascript: return true; forum_check_form(this);">
<div class="forum_add" style="width: 100%;">
<br />
<div>
<a name="add"></a>
<span style="color: #000;">Заголовок сообщения:</span>
<input type="text" name="title" style="width:90%;" class="textinputs" value="Re: %name%" />
<br /><br />
<span style="color: #000;">Ваши комментарии:</span>
<textarea name="body" id="message" style="width: 90%;height:150px;" class="textinputs"></textarea>
<p><input type="submit" value="Отправить" /></p>
</div>
<br />
</div>
<input type="hidden" name="login" disabled="disabled" />
</form>
ADD_MESSAGE_USER;
$FORMS['add_message_guest'] = <<<ADD_MESSAGE_GUEST
<form method="post" action="%action%" onsubmit="javascript: return true; forum_check_form(this);">
<div class="forum_add" style="width: 100%;">
<br />
<div>
<a name="add"></a>
<span style="color: #000;">Ваше имя:</span>
<input type="text" name="nickname" style="width: 90%; " class="textinputs" /><br /><br />
<span style="color: #000;">Ваш e-mail:</span>
<input type="text" name="email" style="width: 90%; " class="textinputs" /><br /><br />
<span style="color: #000;">Название темы:</span>
<input type="text" name="title" style="width: 90%;" class="textinputs" /><br /><br />
%system captcha()%
<span style="color: #000;">Ваши комментарии:</span>
<textarea name="body" id="forum_body" style="width:90%; height:240px;" class="textinputs"></textarea>
<p><input type="submit" value="Отправить" /></p>
</div>
<br />
</div>
</form>
ADD_MESSAGE_GUEST;
?>
Название
%forum message_post()% — Выводит форму для добавления сообщения
Параметры: forum message_post(element_id [, template = 'default'])
- element_id
-
id топика конференции, или путь к нему от корня сайта. По умолчанию — текущая страница.
- template
-
Имя шаблона, по которому выводится форма.В XSLT-шаблонизаторе игнорируется.