Есть предложение по CMenu - добавить в список опций, принимаемых свойством items, опцию activeFor - которая принимала бы массив URL'ов (controller/action), для которых этот пункт меню должен быть активен.
Поясню на примере: меню в лэйауте, в нем допустим есть пункт "Новости". Этот пункт будет активен, если мы находимся в списке новостей, но уже не будет активным на странице конкретной новости! Это же неудобно. А если бы мы добавили activeFor=>array('url'=>array('/news/view')) - пунктик автоматом бы активировался и в каждой новости. Кроме того, не все подразделы запихиваются в меню, но посетитель должен видеть, в каком разделе верхнего уровня он находится.
Предложение по CMenu
Re: Предложение по CMenu
Поддерживаю.
Может уже есть какие то доработки?
Может уже есть какие то доработки?
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Предложение по CMenu
что-то странное, у меня стандартное меню, и в ситуации как в примере меню новости активное, даже когда я в конкрентной новости
Жду Yii 3!
Re: Предложение по CMenu
http://www.yiiframework.com/doc/api/1.1 ... ems-detail
active: boolean, optional, whether this menu item is in active state (currently selected). If a menu item is active and activeClass is not empty, its CSS class will be appended with activeClass. If this option is not set, the menu item will be set active automatically when the current request is triggered by url. Note that the GET parameters not specified in the 'url' option will be ignored.
Код: Выделить всё
//...
'active' => $this->_isActiveElement(),
//...
// _isActiveElement()
return in_array($this->route,array('test/index','some/view'));
//...
Re: Предложение по CMenu
Что то я не понял. Что нужно сделать чтобы заработало....
Понял, что если active выставляется в true то меню делается активным.
Если activeClass не пустой, то тоже работает.
Понял, что если active выставляется в true то меню делается активным.
Если activeClass не пустой, то тоже работает.
- greatdane
- Сообщения: 408
- Зарегистрирован: 2010.10.20, 14:05
- Откуда: Электросталь
- Контактная информация:
Re: Предложение по CMenu
У меня не работает в конкретной новости (urlManager стандартный, ничего не дописывалось и не менялось). Я устанавливаю класс "active" через jQuery, но это костыль. К тому же, как я написала выше, иногда бывает нужно отметить пункт самого верхнего уровня, не добавляя в Cmenu его "детей". Сейчас тоже делаю это через jQuery, однако хотелось бы стандартной опции.
Re: Предложение по CMenu
Поддерживаю.
Типичный пример - админка с CRUD. Делаем пункт меню, заходим на список - всё ок. Тыкаем редактировать и всё - пункт меню уже не горит.
Типичный пример - админка с CRUD. Делаем пункт меню, заходим на список - всё ок. Тыкаем редактировать и всё - пункт меню уже не горит.