Логотип

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

faq question()

Название

%faq question()% — Выводит расширенную информацию о вопросе.

Параметры: faq question([template = 'default', element_path = 0])

template

Имя шаблона, по которому выводится вопрос.

element_path

id или путь к вопросу.

Описание

Макрос выводит вопрос, указанный в параметре element_path. Если параметр element_path не указан, то берется id текущей страницы.

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

Не используется. Все необходимые данные находятся в ответе UPage (см. «Страницы: протокол UPage»). Текст вопроса находится в элементе value внутри элемента property с name="question", а ответ на вопрос в элементе value внутри элемента property c name="content" (поле контент). И к первому и второму свойству можно обратиться, добавив к запросу UPage ".question" и ".content" соответственно.

Для вопроса с id=29 отобразить эти поля можно, например, так:

Вопрос: <br/>
<xsl:value-of select="document('upage://29.question')/udata/property/value" />

<br/><br/>

Ответ на вопрос: <br/>
<xsl:value-of select="document('upage://29.content')/udata/property/value" disable-output-escaping="yes"/>

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

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

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

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

question

Блок для вывода вопроса.

%question%

Вопрос.

%answer%

Ответ.

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

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



<?php

$FORMS['question'] = <<<END
<div style="background-color: #EEEEEE; padding: 5px;">
%question%
</div>
<div style="background-color: white; padding: 5px;">
%answer%
</div>
END;

?>

Создайте вопрос myquestion в категории вопросов common, проекта myproject.

Создайте страницу в модуле «Структура». В редакторе содержимого страницы введите макрос %faq question('sample', '/myproject/common/myquestion')%. Сохраните страницу.