Категории статей

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#16 8 января 2014 в 02:16
valenzetti, попробуйте перечитать еще раз то что Вам написал я и Pasha
что вообще хотите сделать?
#17 8 января 2014 в 08:03
valenzetti, что конкретно вам непонятно?
#18 8 января 2014 в 11:59

что конкретно вам непонятно?

Pasha
не совсем понятны шаги:

Шаг 1. Создаем позицию, например "blocker"
Шаг 2. В template.php к условию if($this->page_body) дописываем and !$this->countModules('blocker')
Шаг 3. Создаем модуль и на страницах где компонента быть не должно этот модуль публикуем.

В общем все ясно, но когда прописываю в темплейте указанный код, всё содержимое сайта пропадает. Опишите чуть более подробно каждый шаг, наверняка, я что-то не так делаю.
#19 8 января 2014 в 14:36

когда прописываю в темплейте указанный код, всё содержимое сайта пропадает.

Не пропадает, а вызывает ошибку. В связи с чем поясняю, что запись вида if($this->page_body) применительна к версии 1.10.3, в более ранних версиях это условие выглядит как if($inPage->page_body). Соответственно для ранних версий все это дело должно быть приведено к следующему виду — if($inPage->page_body && !$inPage->countModules('название_позиции')).
#20 8 января 2014 в 15:36

Не пропадает, а вызывает ошибку. В связи с чем поясняю, что запись вида if($this->page_body) применительна к версии 1.10.3, в более ранних версиях это условие выглядит как if($inPage->page_body). Соответственно для ранних версий все это дело должно быть приведено к следующему виду — if($inPage->page_body && !$inPage->countModules('название_позиции')).

Pasha

сделал так, заработало — компонент перестал выводиться, но модуль удаления компонента отображается. Как решить возникшую проблему?

#21 8 января 2014 в 16:51
valenzetti, все намного проще
1. Открываете файл positions.txt и с новой строки пишете желаемое имя новой позиции, одним словом, например myPosition
2. Открываете template.php и единственное, что нужно сделать — это изменить условие с if($inPage->page_body) на if($inPage->page_body and !$inPage->countModules('myPosition'))
3. Заходите в админку -> модули -> создать модуль и создаете модуль с произвольным названием и содержимым
4. Публикуете этот модуль на нужной странице в позиции myPosition.
5. Все! Никаких printModules в template.php НЕ НУЖНО!
#22 8 января 2014 в 16:56

все намного проще
1. Открываете файл positions.txt и с новой строки пишете желаемое имя новой позиции, одним словом, например myPosition
2. Открываете template.php и единственное, что нужно сделать — это изменить условие с if($inPage->page_body) на if($inPage->page_body and !$inPage->countModules('myPosition'))
3. Заходите в админку -> модули -> создать модуль и создаете модуль с произвольным названием и содержимым
4. Публикуете этот модуль на нужной странице в позиции myPosition.
5. Все! Никаких printModules в template.php НЕ НУЖНО!

Pasha

СПАСИБО, ЗАРАБОТАЛО!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.