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

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

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

Сообщение slavcodev » 2011.02.22, 00:17

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

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

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 » 2011.04.04, 00:43

спасибо, полезно.
Yes I'm Insistent

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

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

Сообщение Ekstazi » 2011.04.04, 10:31

А еще defaultController может содержать не только имя контроллера, но и имя действия.

Аватара пользователя
slavcodev
Сообщения: 3133
Зарегистрирован: 2009.04.02, 21:42
Откуда: Altea, Spain
Контактная информация:

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

Сообщение slavcodev » 2011.04.04, 10:33

Ekstazi писал(а):А еще defaultController может содержать не только имя контроллера, но и имя действия.
да, в APi уже подправили описание
Жду Yii 3!

andreyrud
Сообщения: 265
Зарегистрирован: 2011.09.26, 14:59

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

Сообщение andreyrud » 2012.07.28, 11:00

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

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

array('label'=>'Home', 'url'=>array('/')),
Дает у меня ссылку вида http://site.ru/index.php.
Еще есть проблема с дублем http://site.ru/index.php/site/index ...


Аватара пользователя
yvgorshkov
Сообщения: 71
Зарегистрирован: 2012.06.20, 09:25
Откуда: Чебоксары
Контактная информация:

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

Сообщение yvgorshkov » 2013.07.17, 15:34

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

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

array('label'=>'Главная', 'url'=>array('/')),

Аватара пользователя
yvgorshkov
Сообщения: 71
Зарегистрирован: 2012.06.20, 09:25
Откуда: Чебоксары
Контактная информация:

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

Сообщение yvgorshkov » 2013.07.17, 15:52

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

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

'/'=>'site/index',
то CMenu сгенерит нужную ссылку если ему указать /site/index

vavamia
Сообщения: 3
Зарегистрирован: 2013.12.21, 00:56

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

Сообщение vavamia » 2014.02.15, 18:29

спасибо!

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

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

Сообщение disasterovich » 2015.02.27, 13:25

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

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

['label'=>'Главная', 'url'=>"/"] , 

Ответить