Страницы без вывода компонента

2998
Забавно, но иногда действительно необходимо организовать на сайте несколько страниц без вывода компонента. В поисках приемлемого для себя решения я пришел к выводу, что все эти создания пустых компонентов, внедрения позиций и т.д. совершенно излишни. Задача проста как три копейки и в полной мере решается ровно за три шага.

Шаг 1. Создаем позицию, например "blocker"
Шаг 2. В template.php к условию if($this->page_body) дописываем and !$this->countModules('blocker')
Шаг 3. Создаем модуль и на страницах где компонента быть не должно этот модуль публикуем. Все.
Модуль "Популярное в разделе" | Похожие записи в блогах. Плагин.
Комментарии (18)
Bubble Gumoff 6 декабря 2013 в 19:23 +5
А можно пример, возможно я пьян и не совсем вник как это применить)
reload 6 декабря 2013 в 21:00 0
и на страницах где компонента быть не должно
тоже не совсем понял какие это страницы можно создать в движке без компонента и какой адрес у тех страниц будет?)
... ну кроме главной и технических)
Сергей Егоров 6 декабря 2013 в 21:49 0
Автор, наверное, хотел рассказать, как заменить компонент (например, Клубы) на статическую страницу, чтобы можно было вывести произвольную информацию?!
Pasha 6 декабря 2013 в 21:49 +4
Я раньше тоже скептически ко этому всему относился, пока лично не наступил на эти грабли. Не знаете как это применить, значит вам это не нужно.
Олег Васильевич я 6 декабря 2013 в 21:55 +1
Да найдётся куда применить, найдётся...
Pasha, спасибо!
*beez* 7 декабря 2013 в 23:47 0
и от меня очередной раз благодарю за знания +1
Олег Васильевич я 6 декабря 2013 в 21:53 0
Применительно к разделу контена "Статьи": выводим модуль в позицию с этим условием и копонента как не бывало а модули есть. Адрес станицы, остаётся тем же: http://instantcms.ru/stati
Прикольно!
reload 6 декабря 2013 в 21:59 0
А, понял кажись, типа если нужно убрать содержимое компонента?)

Я раньше тоже скептически ко этому всему относился
А я скептически не отношусь,а просто хочу понять!) вдруг мне оно нужно а я и сам не подозреваю о возможности!)

Pasha, я правильно понял? данное действие убирает содержимое компонента на тех страницах где выведен модуль?
Pasha 6 декабря 2013 в 22:05 +1
Не просто содержимое, но и весь блок как таковой, включая его стили, которые в некоторых случаях ох как мешают, ведь в отличии от модулей css класс к компоненту произвольно не пропишешь.... Начинате всю прелесть понимать?
reload 6 декабря 2013 в 22:17 0
Сообразил, спасибо, под содержимым компонента и подразумевал весь код...
Только вот на счет стилей снова не понял) они ведь не с компонентом подгружаются а отдельным файлом все вместе(если о статьях говорить и др. встроенных) Но это не важно - покручу разберусь, главное что понимаю цель!)
gaara 7 декабря 2013 в 12:55 +1
Незнаю, мне кажется что компонентом делать все-же удобнее, создал болванку инстал и фронтенд, назвал как душе угодно адрес, на этом пустом компоненте разместил модули как душе угодно и не надо париться с правкой файлов, при обновлении не нужно вносить изменений в файлы, позиции и прочее.. но это, конечно, мое сугубо личное мнение, как делать решать вам zst
Майкл 7 декабря 2013 в 22:30 0
А вот интересно, чтобы вывести в эти несколько страниц модуль, Вы эти страницы в меню подцепляете?

Или как то по другому модуль выводите на одной выбранной странице?
Pasha 8 декабря 2013 в 00:31 0
Ну естественно к меню, иначе зачем все это.
Майкл 8 декабря 2013 в 00:41 0
Получается, что это актуально для 2-6 страниц, в 100 страницах этом модуль вывести не реально?)))))
Майкл 8 декабря 2013 в 00:45 0
не правильно выразился:
для 100 выбранных страниц, а не вывод модуля для всей категории?
Майкл 8 декабря 2013 в 00:45 0
не правильно выразился:
для 100 выбранных страниц, а не вывод модуля для всей категории?
Pasha 8 декабря 2013 в 00:54 0
Если четко понимать задачу, то все реально.
Олег 11 декабря 2013 в 23:41 0
Спасибо, очень и очень полезная штука. ++++