Логотип

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

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

$sitemapData = $this->macros('content', 'sitemap'); 
$items = $sitemapData['items'];

В $items будут содержаться все необходимые данные для построения карты сайта. Посмотреть, в каком формате приходят эти данные, можно через var_dump($items).

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

udata://content/sitemap/notemplate/2

XML-ответ UData

<udata module="content" method="sitemap" generation-time="0.018748">
  <items>
    <item id="1" link="/" name="Добро пожаловать" xlink:href="upage://1"/>
    <item id="2" link="/talks/" name="Форум" xlink:href="upage://2"/>
    <item id="12" link="/vse_novosti/" name="Все новости" xlink:href="upage://12">
      <items>
        <item id="13" link="/vse_novosti/politicheskie_novosti/" name="Политические новости" xlink:href="upage://13"/>
        <item id="19" link="/vse_novosti/novosti_ekonomiki/" name="Новости экономики" xlink:href="upage://19"/>
      </items>
    </item>
    <item id="26" link="/contacts/" name="Обратная связь" xlink:href="upage://26"/>
    <item id="27" link="/umicms/" name="FAQ" xlink:href="upage://27"/>
    <item id="40" link="/downloads/" name="Скачать" xlink:href="upage://40">
      <items>
        <item id="41" link="/downloads/php_manual/" name="PHP Manual" xlink:href="upage://41"/>
      </items>
    </item>
    <item id="42" link="/obychnaya_stranica/" name="Обычная страница" xlink:href="upage://42"/>
    <item id="43" link="/market/" name="Каталог товаров" xlink:href="upage://43"/>
  </items>
</udata>

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

<items>

Ветви, содержащие разделы и подразделы сайта. Все подразделы будут перечислены дочерними элементами item внутри дочерней ветви items для соответствующего раздела сайта.

<item>

Элемент, описывающий страницу из карты сайта.

@id

Идентификатор страницы.

@link

Ссылка на страницу.

@name

Название страницы.

@xlink:href

Ссылка UPage на страницу.

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

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

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

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

block

Отвечает за вывод оформления для одного уровня карты сайта. В этот блок подставляются пункты карты сайта, формирующихся из блока item .

%items%

Выводит пункты карты сайта, используя блок item .

item

Выводит отдельный пункт карты сайта.

%id%

id выводимой страницы.

%name%

Название выводимой страницы.

%link%

Ссылка на выводимую страницу.

%sub_items%

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

%list-class-first%

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

%list-class-last%

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

%list-class-odd%

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

%list-class-even%

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

%list-position%

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

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

В редактировании страницы, в поле HTML-содержание напишите макрос %content sitemap('sample', 2)%.

Создайте шаблон с названием sample.tpl в папке /tpls/content/sitemap/ следующего содержания:

<?php

$FORMS = Array();

$FORMS['block'] = <<<END
 <ul>
  %items%
 </ul>
END;

$FORMS['item'] = <<<END
 <li>
  <a href="%link%">%name%</a><br />
  %sub_items%
 </li>
END;

?>

Откройте страницу, которую вы редактировали. Там появится карта сайта, использующая шаблон sample.tpl.

Название

%content sitemap()% — Выводит карту сайта.

Параметры: content sitemap([template = 'default', max_depth = '4', root_id = '0'])

template

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

max_depth

Ограничитель, который указывает максимальное кол-во уровней карты сайта, которые необходимо вывести.

root_id

Id страницы, от которой строится карта сайта. По умолчанию карта сайта строится от корня.

Описание

Этот макрос выводит карту сайта с максимальным количеством выводимых уровней равным max_depth. Если параметр max_depth не указан, то считается, что он равен 4.

В карте сайта отображаются страницы, у которых включена опция "Отображать в меню". Если страница вложенная, то она будет отображаться, если у ее родительской страницы включена опция "Показывать подменю".