$this->macros('blogs20', 'postAdd', ['294'])
blogs20 - имя класса (модуля), метод которого вызывается;
postAdd - имя вызываемого метода;
['294'] - идентификатор публикации (blogId).
Результат вызова:
array(2) { ["action"]=> string(21) "/blogs20/postAdd/294/" ["id"]=> string(3) "new" }
Используется как метод, указываемый в action
для формы. Саму форму необходимо создать в шаблоне. Например таким образом:
<xsl:template match="result[@module='blogs20'][@method='blog']">
<h3>Добавить пост в этот блог:</h3>
<form method="post" action="blogs20/postAdd/{@pageId}">
<label for="visible_for_friends">Будет видно только друзьям</label><br />
<input type="checkbox" id="visible_for_friends" name="visible_for_friends"/><br />
<label for="title">Заголовок поста</label><br />
<input type="text" id="title" name="title" /><br />
<label for="blg20_content">Текст</label><br />
<textarea id="blg20_content" name="content"/><br />
<label for="tags">Теги</label><br />
<input type="text" id="tags" name="tags"/><br />
<span style="color:#777">Теги разделяются запятыми</span><br /><br />
<input type="submit" value="Опубликовать" />
</form>
</xsl:template>
Теперь, для того, чтобы эта форма появлялась на странице блога достаточно добавить инструкцию <xsl:apply-templates select="result" />
в шаблон страницы блога.
Пример вызова
%blogs20 postAdd(21,'sample')%
Используемые блоки
post_add_form
Выводит форму для добавления публикации
- %action%
-
action формы (тот адрес, по которому будут ждать ее данные)
- %id%
-
идентификатор публикации
- %blog_select%
-
выпадающий список с выбором блога
- %visible_for_friends%
-
Чекбокс с выбором видимости поста. Если пост только для друзей, то чекбокс выбран.
Название
%blogs20 postAdd()% — выводит форму для добавления публикации.