Пример использования
$data = $this->macros('faq', 'project', array(null, 'path'));
Возвращает данные о категориях вопросов указанного проекта.
Пример вызова
udata://faq/project/notemplate/(umicms)
XML-ответ UData
<udata module="faq" method="project" generation-time="0.058827">
<lines>
<item id="97" name="Категория вопросов в Faq"
link="/umicms/kategoriya_voprosov_v_faq/" xlink:href="upage://97"/>
<item id="28" name="Общие вопросы по UMI.CMS"
link="/umicms/obwie_voprosy_po_umicms/" xlink:href="upage://28"/>
</lines>
<total>2</total>
<per_page>10</per_page>
</udata>
Вывод категорий осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — default.tpl
.
Используемые блоки шаблона
categories_block
Блок вывода категорий.
- %lines%
-
Указывает место, куда будет выведен список категорий вопросов.
- %total%
-
Общее количество категорий вопросов в указанном проекте.
- %per_page%
-
Количество элементов на странице.
categories_block_line
Этот блок выводит каждую категорию.
- %id%
-
id текущего вопроса.
- %link%
-
Url адрес подробного описания категории и ее содержимого.
- %list-class-first%
-
в случае, если элемент первый, выводит "first"
- %list-class-last%
-
в случае, если элемент последний, выводит "last"
- %list-class-odd%
-
в случае, если элемент четный, выводит "odd"
- %list-class-even%
-
в случае, если элемент нечетный, выводит "even"
- %list-position%
-
вставляет порядковый номер в списке
Примеры использования
Создайте проект с именем myproject в модуле «FAQ», добавьте в него несколько категорий вопросов.
Создайте файл sample.tpl
в директории /tpls/faq/
и напишите в нем следующий код:
<?php
$FORMS['categories_block'] = <<<END
<p>%content%</p>
<ul>
%lines%
</ul>
END;
$FORMS['categories_block_empty'] = <<<END
Вопросов по данному проекту пока нет.
END;
$FORMS['categories_block_line'] = <<<END
<li>
<a href="%link%" class="blue"><b>%text%</b></a><br />
%content%
</li>
END;
?>
Создайте страницу «Часто задаваемые вопросы» в модуле «Структура». В редакторе содержимого страницы введите макрос %faq project('sample', '/myproject')%. Сохраните страницу. Теперь на созданной странице должен появиться список категорий проекта myproject.
Название
%faq project()% — Выводит список категорий вопросов указанного проекта.
Параметры: faq project([template = 'default', element_path = 0, limit = 0, ignore_paging = 0])
- template
-
Имя шаблона, по которому выводится список категорий вопросов. В XSLT-шаблонизаторе игнорируется, можно указать любое значение.
- element_path
-
id проекта, или путь к нему от корня сайта.
- limit
-
Максимальное количество выводимых на страницу элементов.
- ignore_paging
-
Игнорировать постраничный вывод.
Описание
Макрос выводит список категорий проекта, указанного в параметре element_path. Если параметр не указан, система берет id текущей страницы. Количество категорий, выводимых на странице, можно ограничить параметром limit, например для постраничного вывода. Если этот параметр не указан, выведется количество категорий, указанное в настройках модуля.