Ссылка на главную страницу + CMenu

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Ответить
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Ссылка на главную страницу + CMenu

Сообщение slavcodev »

Казалось бы ссылка на главную страницу решается просто:

Код: Выделить всё

echo CHtml::link('главная','/'); 
Если приложение находится не в корневой папке, придется чуть усложнить:

Код: Выделить всё

echo CHtml::link('главная',Yii::app()->baseUrl);
// или правильнее т.к. на конце будет слеш
echo CHtml::link('главная',Yii::app()->homeUrl); 
Но использовать один из этих вариантов в виджете CMenu не получится, находясь на главной странице пункт в меню не становится активным, виджету подавай связку контроллер/действие.
ну что же схитрим, будем писать ссылку на главную вот так

Код: Выделить всё

echo CHtml::link('главная',array('/'.Yii::app()->defaultController)); 
и меню

Код: Выделить всё

$this->widget('zii.widgets.CMenu',array(
    'items'=>array(
        array('label'=>'Home', 'url'=>array('/'.Yii::app()->defaultController)),
    ),
)); 
Жду Yii 3!
Аватара пользователя
pls-kick-me
Сообщения: 42
Зарегистрирован: 2011.02.05, 22:39
Откуда: Украина, Донецк

Re: Ссылка на главную страницу + CMenu

Сообщение pls-kick-me »

спасибо, полезно.
Yes I'm Insistent
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Ссылка на главную страницу + CMenu

Сообщение Ekstazi »

А еще defaultController может содержать не только имя контроллера, но и имя действия.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Ссылка на главную страницу + CMenu

Сообщение slavcodev »

Ekstazi писал(а):А еще defaultController может содержать не только имя контроллера, но и имя действия.
да, в APi уже подправили описание
Жду Yii 3!
andreyrud
Сообщения: 265
Зарегистрирован: 2011.09.26, 14:59

Re: Ссылка на главную страницу + CMenu

Сообщение andreyrud »

А как CMenu сказать делать ссылку без контроллера и актиона? Причем абсолютную? Просто http://site.ru.

Код: Выделить всё

array('label'=>'Home', 'url'=>array('/')),
Дает у меня ссылку вида http://site.ru/index.php.
Еще есть проблема с дублем http://site.ru/index.php/site/index ...
Аватара пользователя
yvgorshkov
Сообщения: 72
Зарегистрирован: 2012.06.20, 09:25
Откуда: Чебоксары
Контактная информация:

Re: Ссылка на главную страницу + CMenu

Сообщение yvgorshkov »

Рискну поднять старую тему:
как заставить виджет CMenu рендерить URL главной страницы просто /
У меня рендерится текущая url если я пишу так:

Код: Выделить всё

array('label'=>'Главная', 'url'=>array('/')),
Аватара пользователя
yvgorshkov
Сообщения: 72
Зарегистрирован: 2012.06.20, 09:25
Откуда: Чебоксары
Контактная информация:

Re: Ссылка на главную страницу + CMenu

Сообщение yvgorshkov »

Методом тыка определил: если в начале всех правил в конфиге urlManager определить:

Код: Выделить всё

'/'=>'site/index',
то CMenu сгенерит нужную ссылку если ему указать /site/index
vavamia
Сообщения: 3
Зарегистрирован: 2013.12.21, 00:56

Re: Ссылка на главную страницу + CMenu

Сообщение vavamia »

спасибо!
disasterovich
Сообщения: 20
Зарегистрирован: 2014.01.31, 14:44

Re: Ссылка на главную страницу + CMenu

Сообщение disasterovich »

у меня так работает

Код: Выделить всё

['label'=>'Главная', 'url'=>"/"] , 
Ответить