Логотип

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

<?=$this->render($this->macros('faq', 'project', array(null, $page->getId())), 'faq/shortList')?>

Пример вызова

udata://faq/projects/

XML-ответ UData

<udata module="faq" method="projects" generation-time="0.009115">
  <lines>
    <item id="27" name="FAQ" link="/umicms/" xlink:href="upage://27"/>
    <item id="96" name="Дополнительный FAQ" link="/dopolnitelnyj_faq/" xlink:href="upage://96"/>
  </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/.

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

projects_block

Блок вывода проектов.

%lines%

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

%total%

Общее количество проектов в FAQ.

%per_page%

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

projects_block_empty

Этот блок выводится, когда нет ни одного проекта в FAQ

projects_block_line

Этот блок выводит каждый проект.

%id%

id текущего проекта.

%link%

Url адрес подробного описания проекта и его содержимого.

%list-class-first%

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

%list-class-last%

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

%list-class-odd%

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

%list-class-even%

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

%list-position%

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

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

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

<?php

$FORMS['projects_block'] = <<<END
  <div style="padding: 20px; width: 100%; background-color: #FAFBFE; display:block; overflow:visible;">
  %lines%
  </div>
END;

$FORMS['projects_block_empty'] = <<<END

END;

$FORMS['projects_block_line'] = <<<END
  <a href="%link%" class="blue"><b>%text%</b></a><br />
END;

?>

Создайте страницу «myfaq» в модуле «Структура». В редакторе содержимого страницы введите макрос %faq projects('sample')%. Сохраните страницу. Теперь на созданной странице должен появиться список всех проектов FAQ.

Название

%faq projects()% — Выводит список всех проектов.

Параметры: faq projects([template = 'default', limit = 0, ignore_paging = 0])

template

Имя шаблона, по которому выводится список проектов. В XSLT-шаблонизаторе игнорируется.

limit

Максимальное количество выводимых на страницу элементов.

ignore_paging

Игнорировать постраничный вывод.

Описание

Макрос выводит список проектов. Количество проектов, выводимых на странице, можно ограничить параметром limit, например для постраничного вывода. Если этот параметр не указан, выведется количество проектов, указанное в настройках модуля.

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