Определить главная ли страница

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
sergebezborodov
Сообщения: 133
Зарегистрирован: 2010.06.10, 19:53
Откуда: Dnepropetrovsk-Sevastopol, UA
Контактная информация:

Определить главная ли страница

Сообщение sergebezborodov »

Приветствую!

Стоит банальная задача, но в тоже время не нашел нормального решения.

На сайте определенные виджеты нужно показывать только на главной. В конфиге маршрут главной страницы переопределен на отличный от "site/index".
Есть ли универсальный способ, без привязки к роуту определить главную страницу?

Спасибо!
A passion to perform
http://sergebezborodov.com
Аватара пользователя
BuCeFaL
Сообщения: 447
Зарегистрирован: 2010.03.17, 21:22
Откуда: Kiev
Контактная информация:

Re: Определить главная ли страница

Сообщение BuCeFaL »

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

В виждете уже проверка (в методе init или где то там) что то типо

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

//..
if(in_array(Yii::app()->controller->route,Yii::app()->params['widgetAccess']))
//..  
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Определить главная ли страница

Сообщение slavcodev »

Есть ли универсальный способ, без привязки к роуту определить главную страницу?
может так

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

if(Yii::app()->controller->id==Yii::app()->defaultController
   && Yii::app()->controller->action->id==Yii::app()->controller->defaultAction)
{
//
}
 
Жду Yii 3!
zibert02
Сообщения: 203
Зарегистрирован: 2010.11.24, 17:29

Re: Определить главная ли страница

Сообщение zibert02 »

расплывчатое понятие -главная страница
любая страница может быть главной
Аватара пользователя
sergebezborodov
Сообщения: 133
Зарегистрирован: 2010.06.10, 19:53
Откуда: Dnepropetrovsk-Sevastopol, UA
Контактная информация:

Re: Определить главная ли страница

Сообщение sergebezborodov »

в качестве главной я имел ввиду http://site.ru/ или http://site.ru/index.php
A passion to perform
http://sergebezborodov.com
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Определить главная ли страница

Сообщение Ekstazi »

mc_bear, твой вариант не самый удачный, так как defaultController может и action содержать. Проверить можно как-то так:

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

if(CHtml::normalizeUrl('')==='<тут ссылка на главную страницу без имени хоста>')
;//Наш код
 
Или же как кто-то может отметить:

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

if(Yii::app()->controller->createUrl('')==='<тут ссылка на главную страницу без имени хоста>')
;//Наш код
 
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Определить главная ли страница

Сообщение slavcodev »

точно )
Жду Yii 3!
Аватара пользователя
tiron_alexey
Сообщения: 13
Зарегистрирован: 2010.07.13, 16:17
Откуда: Одесса
Контактная информация:

Re: Определить главная ли страница

Сообщение tiron_alexey »

а как сделать, чтобы виджет не отображался только на определенной странице?
Аватара пользователя
i80586
Сообщения: 233
Зарегистрирован: 2011.03.05, 20:54
Откуда: Баку
Контактная информация:

Re: Определить главная ли страница

Сообщение i80586 »

tiron_alexey писал(а):а как сделать, чтобы виджет не отображался только на определенной странице?

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

if (<is not some page>) $this->widget(.....)
Аватара пользователя
tiron_alexey
Сообщения: 13
Зарегистрирован: 2010.07.13, 16:17
Откуда: Одесса
Контактная информация:

Re: Определить главная ли страница

Сообщение tiron_alexey »

Уже сам разобрался, но за то что уделил время, спасибо
Аватара пользователя
rallo
Сообщения: 6
Зарегистрирован: 2015.04.29, 11:54

Re: Определить главная ли страница

Сообщение rallo »

Я сделал так.
В контроллере по умолчанию добавил переменную

class SiteController extends Controller {
// Флаг сигнализирующий о главной странице
public $flag_homepage = true;
. . .

И в главном шаблоне "/view/layouts/main.php" спрашивал определена ли такая переменная.
if (isset($this->flag_homepage )) { . . . }
Ответить