Меню с помощью Usel (для tpl-шаблонизатора)

Материал из Umicms
Версия от 21:14, 4 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Задача: сделать дополнительное вертикальное меню.

Решение: для реализации этой задачи мы будем использовать выборку с помощью использования Usel, с помощью этой выборки мы можем вывести в дополнительное меню страницы у которых не стоят галочки "отображать в меню" (или стоят, но нам нужно вывести только некоторые пункты в другом меню).

1. Заходим в модуль «Шаблоны данных», выбираем вкладку «Типы данных», нажимаем на "Раздел сайта". В окрывшемся окне нажимаем «Добавить группу», нажимаем «Добавить поле» (назовем его, например, field) тип "кнопка флажок" и нажимаем «Сохранить». Далее заходим в модуль «Структура», определяем какие из страниц мы хотим вывести в дополнительном меню, открываем эти страницы для редактирования и ставим галочку в поле "field".

2. Создаем непосредственно сам шаблон выборки Usel. Шаблон выборки Usel это XML-файл, который должен находится в папке ~/usels/. Подробно о создании шаблона Usel написано в документации разработчиков сайтов [1] Для нашей задачи он будет выглядеть таким образом:

<?xml version="1.0" encoding="utf-8"?>
<selection>
 <target expected-result="pages">
  <type id="9" />
 </target>
 <property name="field" value="1" />
</selection>

Где "field"-название, добавленого поля, 9-это id объекта раздел сайта (можно посмотреть в модуле "Шаблоны данных"), назовем наш шаблон выборки for_menu.

3. Для вывода работы выборки используется макрос %data doSelection()%. К примеру такой %data doSelection('default', for_menu)% (где default -это шаблон отвечает за вид вывода выборки, находится по пути ~tpls/data/usel/ его можно отредактировать нужным вам образом , а for_menu- это название нашего шаблона для выборки).

Аналогичным образом мы можем создать неограниченное число выборок и сделать неограниченное число выводов дополнительных меню на разных страницах нашего сайта.