Логотип

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

data getAllGroups()

Название

%data getAllGroups()% — Выводит все группы полей страницы по определенному шаблону.

Параметры: data getAllGroups(element_id [, template = 'default'])

element_id

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

template

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

Описание

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

Не используется. Список групп свойств страницы можно получить по протоколу UPage (см. «Страницы: протокол UPage») для произвольной страницы, или непосредственно из ответа UMI Data для текущей страницы.

Для произвольной страницы отобразить его можно, например, следующим образом. Передадим в $pageID идентификатор страницы и укажем место вывода списка:

...

 <ul>
  <xsl:apply-templates select="document(concat('upage://', $pageID))/udata/page/properties/group" />
 </ul>

...

Сам шаблон оформления списка:

<xsl:template match="group">
  <li>ID:
   <xsl:value-of select="@id"/> - 
   <xsl:value-of select="@name"/>
  </li>
</xsl:template>

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

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

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

groups_block

Выводит блок, который содержит список групп полей.

%lines%

Выводит список групп полей, сформированный по блоку groups_line

%id%

Выводит id страницы, группу полей которой выводит макрос. Всегда соответствует параметру element_id.

%template%

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

groups_line

Используется для вывода отдельной группы полей. Обычно в этом блоке указывается макрос %data getPropertyGroup()%.

%group_id%

Выводит числовой id выводимой группы полей для последующего использования во вложенных макросах.

%group_name%

Выводит идентификатор (строковой) выводимой группы полей для последующего во вложенных макросах.

%list-class-first%

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

%list-class-last%

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

%list-class-odd%

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

%list-class-even%

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

%list-position%

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

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

В поле HTML-редактор вставьте макрос: %data getAllGroups(%pid%, 'sample')%. В папке /tpls/data создайте файл sample.tpl, который содержит следующий пример:


<?php
$FORMS = Array();

$FORMS['groups_block'] = <<<END
    %lines%
END;

$FORMS['groups_line'] = <<<END
    %data getPropertyGroup('%id%', '%group_id%', '%template%')%
END;

$FORMS['group'] = <<<END
     <b>%title%</b><br/>
 %lines%
 <br/>

 
END;

$FORMS['group_line'] = <<<END
  %prop%<br/>
END;

$FORMS['int'] = <<<END
%title%: %value%
END;

$FORMS['price'] = <<<END
%title%: %value%
END;

$FORMS['string'] = <<<END
%title%: %value%
END;

$FORMS['text'] = <<<END
%title%: %value%
END;

$FORMS['relation'] = <<<END
%title%: %value%
END;

$FORMS['date'] = <<<END
%title%: %value%
END;
?>