Меню с помощью Usel (для tpl-шаблонизатора) — различия между версиями
Cmac (обсуждение | вклад) |
SerjK (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
'''Задача:''' сделать дополнительное вертикальное меню. | '''Задача:''' сделать дополнительное вертикальное меню. | ||
− | '''Решение:''' для реализации этой задачи мы будем использовать выборку с помощью использования Usel, с помощью этой выборки мы можем вывести в дополнительное меню страницы у которых не стоят галочки "отображать в меню". | + | '''Решение:''' для реализации этой задачи мы будем использовать выборку с помощью использования Usel, с помощью этой выборки мы можем вывести в дополнительное меню страницы у которых не стоят галочки "отображать в меню" (или стоят, но нам нужно вывести только некоторые пункты в другом меню). |
1. Заходим в модуль «Шаблоны данных», выбираем вкладку «Типы данных», нажимаем на "Раздел сайта". В окрывшемся окне нажимаем «Добавить группу», нажимаем «Добавить поле» (назовем его, например, field) тип "кнопка флажок" и нажимаем «Сохранить». Далее заходим в модуль «Структура», определяем какие из страниц мы хотим вывести в дополнительном меню, открываем эти страницы для редактирования и ставим галочку в поле "field". | 1. Заходим в модуль «Шаблоны данных», выбираем вкладку «Типы данных», нажимаем на "Раздел сайта". В окрывшемся окне нажимаем «Добавить группу», нажимаем «Добавить поле» (назовем его, например, field) тип "кнопка флажок" и нажимаем «Сохранить». Далее заходим в модуль «Структура», определяем какие из страниц мы хотим вывести в дополнительном меню, открываем эти страницы для редактирования и ставим галочку в поле "field". |
Версия 06:35, 26 декабря 2011
Задача: сделать дополнительное вертикальное меню.
Решение: для реализации этой задачи мы будем использовать выборку с помощью использования 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- это название нашего шаблона для выборки).
Аналогичным образом мы можем создать неограниченное число выборок и сделать неограниченное число выводов дополнительных меню на разных страницах нашего сайта.