Логотип

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

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

$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>

Элементы и атрибуты

<lines>

Ветвь, содержащая в себе элементы item — категории указанного проекта.

<item>

Элемент, описывающий отдельную категорию этого проекта.

@id

Идентификатор категории.

@name

Название категории.

@link

Ссылка на категорию.

@xlink:href

Ссылка UPage на категорию.

<total>

Общее количество категорий в указанном проекте.

<per_page>

Количество категорий, отображаемых на странице.

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

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

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

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

categories_block

Блок вывода категорий.

%lines%

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

%total%

Общее количество категорий вопросов в указанном проекте.

%per_page%

Количество элементов на странице.

categories_block_empty

Этот блок выводится, когда в проекте нет доступных категорий.

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, например для постраничного вывода. Если этот параметр не указан, выведется количество категорий, указанное в настройках модуля.

Дополнительные сведения