![]() |
Содержимое правой колонки в зависимости от раздела сайта
Есть сайт, на котором правая колонка может иметь 3-4 варианта, в зависимости от раздела сайта. В одном разделе это одна фотография, один номер телефона, в другом - другая фотография и другой номер. Соответственно, напрашивается решение вынести правую колонку в отдельную область и подключать нужную в зависимости от раздела. Вопрос - а как это сделать?
В Битриксе я бы сделал так - вынес бы эти 3-4 области в разные файлы, в свойствах раздела указал бы нужную область, и подключал бы в шаблоне нужную. Но это не Битрикс :( Пожалуйста, намекните, как здесь сделать такое. Причем чем подробнее, тем лучше ;) Есть ли тут свойства у страниц (разделов), куда выносить (во что оформлять) эти области? Не знаю, куда копать. |
нужно в настройках шаблона SETUP использовать конструкцию
[PIDinRootline = 36] ... [PIDinRootline = 35] ... [PIDinRootline = 34] ... [global] Номера - id страниц. Вопрос в том, что туда записывать. Лично я вижу 2 варианта. 1. В шаблоне сайта определить область через TV под некий lib.left_block, куда посредством TypoScript вносить все что угодно - картинки, телефоны и т.п. Причем можно вынести телефоны и картинки в константы (например переменная телефона left_block_text1), а в SETUP прописать на них ссылку lib.left_block = COA lib.left_block { 10 = TEXT 10.value = {$left_block_text1} } 2. Сдлеать 2 шаблонв - один для "главной" страницы раздела, где мапить область через TV типа Content Element, а во втором шаблоне потом с использованием условий (код выше) и конструкции lib.myobject_stuff = RECORDS lib.myobject_stuff.source = 1 lib.myobject_stuff.tables = tt_content растиражировать их на все страницы раздела.. либо использовать content_slide. |
Сделал по первому варианту, благо с тем, как создать новый элемент в DS и замаппить его я разобрался. Сначала определил содержимое колонки по умолчанию, потом пошли conditions. Спасибо большое! Единственное, что к этому нет доступа "обычным" пользователям - получается все жестко зашито в шаблоне, и если они сделают новый раздел, то картинку-телефон поменять не смогут - будут использоваться те, что по-умолчания.
Код:
lib.rightColumn = COA |
Ну условия можно выносить в константы. В сэтапе оставить только
lib.rightColumn.10.value = {$some_html} И тогда объяснить человеку, есть конструкция с условиями. Добавили раздел - дописали сюда ветку с условием и кусок ХТМЛ:) |
Не должен клиент копаться в TS, не должен. Лучше в свойствах страницы переопределить какое-либо текстовое поле (или новое создать с помощью спец. экстеншена) под RTE. И брать контент оттуда. Либо, что лучше, использовать kb_tv_cont_slide.
|
Цитата:
Правую колонку сделал отдельным FCE с необходимыми полями - фото, телефон и т.д. Затем завел отдельный SysFolder и насоздавал там элементов типа только что созданного FCE. А затем в свойствах корневых каталогов назначил правой колонке нужные записи. Вуаля! |
Цитата:
|
Цитата:
|
Часовой пояс GMT +4, время: 06:23. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot