Убрать все из сайдбаров

InstantCMS 2.X
#1 22 ноября 2017 в 22:25
Привет всем… прошу помощи)

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

смысл в том что у меня на одной странице моего компонента должен быть свой специфический сайдбар… там куча js будет, у элементов в сайдбаре будет реакция на изменение чего там в основной части страницы…

Спасибо))
#2 22 ноября 2017 в 23:26

смысл в том что у меня на одной странице моего компонента должен быть свой специфический сайдбар… там куча js будет, у элементов в сайдбаре будет реакция на изменение чего там в основной части страницы…

kaktus
Буквально недавно, я озадачивался подобным же вопросом, ответ был однозначный:
1. Создаете для страницы персональную страницу виджетов
2. Если у вас есть виджеты в сайдбаре на странице виджетов Все страницы, тогда вы их оттуда убираете и расставляете на каждой странице где они нужны
3. Устанавливаете нужные виджеты на странице виджетов вашей специальной страницы.
И только так! Ниаких блокираторов для отдельой страницы виджетов не существует. Не считая того что можно настроить масками.
#3 23 ноября 2017 в 00:28
kaktus, дополнительной позицией в схеме можно сделать. И в шаблоне выставить зависимость вывода сайдбара от наличия в ней виджетов.
  1.  
  2. $is_sidebar = $this->hasWidgetsOn('sidebar-one', 'sidebar-two');
  3. $no_sidebar = $this->hasWidgetsOn('no_sidebar');
  4. $disp_sidebar = $is_sidebar && !$no_sidebar;
  5. if($disp_sidebar){
  6. сайдбар где нужно
  7. }
  8.  
#4 23 ноября 2017 в 01:39
Спасибо ребята за подсказки и помощь…
я нашел метод renderPlain — пока планирую его использовать… надо страницу заново рисовать… но для моей задачи это в принципе то подойдет...
мне надо как можно больше свободного места на странице))
пока думаю как лучше)) но хорошо когда есть больше одного варианта решения задачи))

  1.  
  2. $template = cmsTemplate::getInstance();
  3. $template->renderPlain('type1', array(
  4. 'data' => $data,
  5. ));
  6.  
#5 23 ноября 2017 в 02:36

я нашел метод renderPlain — пока планирую его использовать… надо страницу заново рисовать… но для моей задачи это в принципе то подойдет...

kaktus
Для не программистов — поделитесь как и что делали. Тоже надо управлять виджетами сайдбаров.
#6 23 ноября 2017 в 09:46

Для не программистов — поделитесь как и что делали. Тоже надо управлять виджетами сайдбаров.

vikont
у меня стоит задача сделать сервис генерации сайтов))) да да))) один сайт генерирует другие сайты…
вроде как генератор сайтов визиток… вводишь свои данные, загружаешь картинки, выбираешь цвета, выбираешь шаблон — нажимаешь сгенерировать — и скрипт отдает архив который можно развернуть на любом хостинге и получить готовый сайт визитку со своими данными))
renderPlain не грузит тему — просто выдает то что находится в шаблоне… это в принципе то что мне и нужно, на пустой странице сделать пошаговый мастер…
#7 23 ноября 2017 в 10:15

это в принципе то что мне и нужно, на пустой странице сделать пошаговый мастер..

kaktus
Насколько я разумею — это Инстанту вполне по плечу! И дело хорошее — конструктора сайтов на Инстанте еще не видел!
Как говорится, в добрый путь! v
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.