Как сделать чтобы на разных страницах сайта было разное меню

голоса: 0
Если быть точным, хочу сделать раздел сайта (страницу грубо говоря), который при открытии показывал бы другое меню, отдельное для этого раздела (страницы), а на всех остальных страницах чтобы по прежнему отображалось основное меню сайта
| Автор: | Категория: Меню сайта

Ответов: 1

Голоса: +1
 
Лучший ответ

Редактируем блок с меню, открываем на редактировании и входим в вкладку Содержимое - HTML:

<?if($URI_ID$='page1')?>здесь меню для нужной страницы<?else?>здесь для остальных<?endif?>

вместо page1 пропишите идентификатор страницы, как его узнать, читаем в материале - http://www.ucoz.ru/qa/index.php/11422

| Автор:
Выбор ответа лучшим | | Автор: Андрей Овсиенко

<?if($URI_ID$='page1')?>"Menu_1"<?else?>"Menu_2"<?endif?>

Андрей Овсиенко,

Да, правильно, в условии внутри прописать идентификаторы меню вида - $SMENU_1$ конечно если у вас системное меню.

  • Да, выполняется, показываем на нужной странице, в ином случае показываем для всех других меню 2.
Yuri_Geruk,
Спасибо большое, я все понял! Благодарю Вас за ответ!
Yuri_Geruk,
Еще один вопросик - а если меню не системное, а написоно ручками, то его нельзя туда вставить, или просто всавлять весь код полностью?
Андрей Овсиенко,
Да, код полностью.
Yuri_Geruk,
Еще раз большое Вам спасибо!!!!
Yuri_Geruk,
еще раз прошу прощения, а если таких страниц (для которых нужно отобразить другое меню) несколько, то их просто перечислить через запятую?
Андрей Овсиенко,

Если несколько, делаем так:

<?if($URI_ID$='page1')?>"Menu_1"<?else?>
<?if($URI_ID$='page2')?>"Menu_2"<?else?>"Menu_3"<?endif?><?endif?>

вот так, если больше трех, надеюсь далее понятно как изменить код с примера выше.

Yuri_Geruk,
Спасибо, я имел ввиду, что не меню больше двух, а страниц для которых отображается грубо говоря "menu_1" несколько
Yuri_Geruk,
я туплю, прошу прощения, дошло!!!!!
Yuri_Geruk,

Подскажите еще пожалуйста!

 

Ограничение на количество страниц есть? 

Если я правильно понял, то если у меня есть допустим 12 страниц на которых должно отображаться другое меню, то в конце кода с условием у меня должно быть 12 <?endif?> стоять?

т.е. 

 

и еще один вопрос - если у меня это все чудо в блок не помещается, то я могу создать глобальный блок и помести все в него, или в глобальных блоках это не работает?

Андрей Овсиенко,
Да, хоть в блок хоть в глоабльный блок, но не сранице сайта где-то между текста. Если не работает, значит неправильно прописали айди страниц. Хотя неправильно следующее, замените все $URI_ID$ на $PAGE_ID$
Yuri_Geruk,
что-то не работает - создаю глобальный блок который в списке становится самый первый.   ID страниц прописываю так: "<?if($PAGE_ID$='sitePage200')?>" ID страниц смотрел через конструктор в админке     Да, самое интересное, что для тех страниц, для которых я прописал другое меню, на них оно отображается, а вот для все остальных почему-то нет
Андрей Овсиенко,
Глобальный блок в блоке прописывать не нужно так как работать не будет, лимита нет пока вы не превысите лимит по символам в шаблоне.
Yuri_Geruk,
Это я понял, у меня в блок не помещается код, а в глобальный блок помещается, поэтому через него и делаю.     другой вопрос - меню которое для всех остальных страниц должно работать может быть то же самое меню, но с другими пунктами меню, или долно быть другое, отдельное меню?
Андрей Овсиенко,
Не мучайтесь, используйте ситемное меню и не создавайте 10 штук, это лишнее, никто не будет пользоваться таким количеством меню на сайте, если подойти с умом, для сайта максимум два хватит как вот я использую, для шапки сайта одно и для нижней части, если больше, это уже лишнее.
Yuri_Geruk,
да мне их и нужно только два, просто чтобы одно отображалось на всех страницах, а другое только на 12 страницах
Андрей Овсиенко,
Так зачем проблему то создавать, я же вначале описал как это сделать, вы же создаете 100500.
Yuri_Geruk,
там написано как для одной страницы сделать грубо говоря "Menu1" а для остальных страниц "Menu2".     Мне нужно для 12 страниц "Menu1", а для всех остальных "Menu2"
Андрей Овсиенко,

Если для 12, делаем так:

<?if($URI_ID$='page1'||$URI_ID$='page2'||$URI_ID$='page3'||$URI_ID$='page4'||$URI_ID$='page5'||$URI_ID$='page6'||$URI_ID$='page7'||$URI_ID$='page8'||$URI_ID$='page9'||$URI_ID$='page10'||$URI_ID$='page11'||$URI_ID$='page12'||$URI_ID$='page13')?>"Menu_1"<?else?>"Menu_2"<?endif?>

вот вам пример, надеюсь не запутаетесь, в одном условиее прописать все 12 страниц или 13.

Yuri_Geruk,
ВОТ! Вот это я и имел ввиду изначально! Благодарю Вас за терпение и помощь!!!!
...