Macik |
|
---|---|
#34478 Sergey: Тут, если я правильно понял, надо заводить соответствующее количество экстра полей для страниц, пример: razmer, data, ves. А в нужной категории в шаблоне page.cat.tpl использовать только актуальные для данной категории: {PAGE_RAZMER}, {PAGE_DATA}, {PAGE_VES}. #34478 Sergey: Все равно не понял зачем «использовать страницы как шаблон текста», если для этого и существуют непосредственно шаблоны. (Единственной причиной может быть удобство редактирования страниц через Web, перед редактированием шаблонов) 1. [Рассматриваем случай, когда нет возможности написать плагин под это дело, и обходимся только шаблонами. Т.е. то , что описано мной в первом абзаце]. Есть список товаров, разделенный по группам (пример: кастрюли, телевизоры). Каждый товар представлен собственной страницей, и хранит набор своих свойств в экстраполях: diameter - диаметр кастрюли, diagonal - диагональ экрана. Категория товара определяется том, в какой категории страниц находится товар (категории как обычно создаем через админку). При создании страницы необходимые экстра поля заполняются. Тут даже можно создать отдельные шаблоны для создания страниц в каждой категории, тогда можно не отображать «ненужные» для данной категории поля свойств. Далее как описано выше, для каждой категрии создаем шаблон отображения страниц, использующий только необходимые экстраполя.
2. Вариант когда некий шаблон вывода данных мы хотим сохранять как страницу (и редактировать через Web). Тут без небольшого плагина не обойтись (назовем его условно pagetemplate). Входные данные и структура сайта аналогичны предыдущему примеру. Экстраполя. Структура категорий. Структура товаров - пункт 1. Создаем отдельную подкатегорию tpl в категрии «system», где будут лажеть страницы-шаблоны (в таком случае простой пользователь не будет иметь к ним доступа) - пункт 2. Страница шаблон будет иметь формат данных аналогичный, используемому в строковых ресурсах. Т.е. это любой текст со вставками специальных тегов (типа {$size_value}), которые будут заменены на соответствующие значения. Псевдоним (alias) страницы будет соответствовать коду категории товара (для сопоставления шаблона нужной категории). В строке ключевых слов укажем через запятую названия дополнительных полей, которые хотим использовать в данной категории, например для телевизора «ves, razmer». Иллюстрация. Готовые шаблоны для разных категорий - илл.
Плагин будет работать просто - в шаблон отображения страниц ставим тэг {PAGE_TEMPLATE} илл. (прим.: на иллюстрации шаблон из темы HTMLKickstart), который плагином будет заменяться на соотв. кусок текста взятый из страницы-шаблона (выбранной по соответствию псевдонима коду категории). Перед применением страницы-шаблона, поменяем специальные теги на значения взятые из lang файла плагина и экстраполей страницы.
Теперь поправим шаблоны добавления и редактирования страницы, добавив одинаковый тег {PAGE_TEMPLATE_EXTRAPARAMS} илл. (Прим. на иллюстрации шаблон из темы HTMLKickstart). Делаем это, чтобы при создании страницы в определенной категории, появлялись только определенные страницей-шаблоном (помните заполняли поле «keywords») для этой категории дополнительные поля. Пример плагина качать здесь: http://www.cotonti.com/datas/users/pagetemplate_461.7z
Он проверялся под темой «HTMLKickstart», для другой темы оформления возможно потребуется немного изменить файл tpl/pagetemplate.tpl https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
|
Dit bericht is bewerkt door Macik (2012-05-31 13:59, 12 jaren ago) |