Пример использования
$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>
Вывод карты сайта осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — default.tpl
.
Используемые блоки шаблона
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.
В карте сайта отображаются страницы, у которых включена опция "Отображать в меню". Если страница вложенная, то она будет отображаться, если у ее родительской страницы включена опция "Показывать подменю".