Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Любые вопросы от новичков  ->  Спрятать хлебные крошки только в каталоге

Если Вы только начинаете - пишите в этот раздел

Добавлено: 22.09.11 09:28:48 #1



Регистрация: 15.10.09
Сообщений: 49


Обратиться по имени

Необходимо спрятать только в каталоге хлебные крошки. Идея такая, в pages.tpl сделать проверку
<!--#set var="path" value="
##if (любая страница каталога)##
<div class="pages_path" style="display:none">
	<b>##path##</b>
</div>
##else##
<div class="pages_path">
	<b>##path##</b>
</div>
##end if##
"-->

Собственно как сделать проверку на то что страница является страницей каталога?



Добавлено: 22.09.11 10:28:34 #2



Регистрация: 26.04.11
Сообщений: 276


Обратиться по имени

Vitaliy Sadomskiy, как один из вариантов - завести глобальную переменную прямо на странице с модулем каталога товаров: ##setglobalvar @my_katalog = 1##.

##if (my_katalog == '1')##
...
##else##
...
##endif##



Выбирайте и голосуйте за пожелания по развитию Amiro.CMS на idea.amiro.ru!
Добавлено: 22.09.11 11:44:09 #3



Регистрация: 15.10.09
Сообщений: 49


Обратиться по имени

Сбасибо! Я правильно понял что глобал вар задаем прям в менеджере сайта? На страничке каталог товаров. Если понял правильно то такая конструкция не работает
прописал в менеджере сайта на странице каталога ##setglobalvar @my_katalog = 1##
в шаблоне pages.tpl
<!--#set var="path" value="
##if (my_katalog == '1')##
<div class="pages_path" style="display:none">
	<b>##path##</b>
</div>
##else##
<div class="pages_path">
	<b>##path##</b>
</div>
##endif##
"-->
и
<!--#set var="nav_bar" value="
##if (my_katalog == '1')##
<div class="pages_nav_bar" style="display:none">
	##nav_bar##
</div>
##else##
<div class="pages_nav_bar">
	##nav_bar##
</div>
##endif##
"-->


Что сделал не так?



Добавлено: 22.09.11 15:11:37 #4



Регистрация: 15.10.09
Сообщений: 49


Обратиться по имени

Может быть есть еще способ для условия определить страница является страницей каталога или нет, а то вышеуказанный метод не работает, или я что то делаю не так(((



Добавлено: 23.09.11 08:07:49 #5



Регистрация: 26.04.11
Сообщений: 276


Обратиться по имени

Vitaliy Sadomskiy, сложно определить причину неработоспособности метода, не видя и не имея доступа к объекту, в данном случае - вашему сайту. Попробуйте сделать следующее:

поместите глобальную переменную (например - ##setglobalvar @my_index = 1## ) через менеджер сайта (режим HTML) на главную страницу, затем откройте макет на редактирование (Менеджер сайта -> Редактировать макет) и, например, в самом низу, перед </body>, поставьте проверку:

##if(my_index == '1')##
Это главная страница сайта
##endif##

Данная процедура поможет определиться с тем, правильно ли вы задаете переменную и условие (надпись из условия должна появиться непосредственно только на главной странице сайта, внизу).

Если эксперимент удался, значит причина неработоспособности вашей задумки в другом. Например - проверка осуществляется не в том сете.

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



Выбирайте и голосуйте за пожелания по развитию Amiro.CMS на idea.amiro.ru!
Добавлено: 23.09.11 09:51:00 #6



Регистрация: 15.10.09
Сообщений: 49


Обратиться по имени

Сделал проверку, в целом глобальные переменные работают. Условие в принципе тоже в правильных сетах использую, потому что если без условия просто прятать-то работает. Может быть проблема в том в каком порядке выполняется код? Например код из шаблона pages.tpl выполняется раньше чем присваивается значение глабальной переменной введенной в менеджере сайта?



Добавлено: 23.09.11 09:58:24 #7



Регистрация: 26.04.11
Сообщений: 276


Обратиться по имени

Vitaliy Sadomskiy:
Может быть проблема в том в каком порядке выполняется код?

Теоретически да, сей факт имеет место быть в определенных случаях.

Вариант первый: глобальную переменную устанавливаем в шапку страницы (т.е. в самую верхнюю часть шаблона, дабы загрузить ее первой).

Вариант второй: включить отладку, прописать ##__PRINT_VARS__## в выводимом сете и посмотреть на наличие переменных, за которые можно зацепиться. Так например, существует возможность (в некоторых случаях) за условие взять наименование страницы, либо ее id, либо какой-то другой дополнительный признак, присущий только данному типу модуля/функции.

Третий вариант: если все совсем безнадежно - всегда есть JavaScript. Но в его случае, работать он будет только на клиентской стороне (т.е. код будет удаляться/скрывать только для пользователя, оставшись при этом видимым, например, для поисковой системы).



Выбирайте и голосуйте за пожелания по развитию Amiro.CMS на idea.amiro.ru!
Добавлено: 23.09.11 13:58:45 #8



Регистрация: 15.10.09
Сообщений: 49


Обратиться по имени

Все разобрался! Просто получается что сет выводиться вообще шаблоном common.tpl Несмотря на то что работает но прячет хлебные крошки на всех страницах сет в pages.tpl
<div class="pages_path" style="display:none">
<b>##path##</b>
</div>

В общем сделал так в шаблоне common.tpl
<!--#set var="page_header" value="
##if(my_index == '1'##
##else##
##content##
##endif##
"-->

Незнаю можно ли оставлять пустым значение, но вроде работает!





Создать новую тему

Всего тем: 6661
Всего сообщений: 27851
Всего зарегистрированных пользователей: 26741
Последний зарегистрированный пользователь: user6353089940