tag style formularios example español php yii yii-url-manager

php - style - Yii revisa si la página de inicio



yii2 html checkboxlist (8)

si por ''página de inicio'' te refieres a ''página de inicio'', entonces puedes verificar esta extensión que hace exactamente esto.

¿Existe algún método o propiedad en Yii para verificar si la página es página principal?

Sé que puedo usar algo como esto:

$controller = Yii::app()->getController(); $isHome = $controller->getAction()->getId() === ''index'' ? true : false;

O póngalo en un método en el controlador principal, pero estoy buscando algo más limpio.

Gracias.


usted puede verificar la página de inicio usando la extensión páginaChecker:

http://www.yiiframework.com/extension/pagechecker


Esto es lo que uso para verificar si estoy en la página principal:

$isFrontpage = false; if ((Yii::app()->controller->getId().''/''.Yii::app()->controller->getAction()->getId()) == ''site/index'' ) { $isFrontpage = true; }

Funciona como un encanto ... incluso en vistas ...


puede comparar el controlador actual y la acción con el controlador y la acción predeterminados.

$controller = Yii::app()->getController(); $default_controller = Yii::app()->defaultController; $isHome = $controller->getId() === $default_controller && $controller->getAction()->getId() === ''index'';

No pude acceder a la acción predeterminada a través de Yii :: app () como Yii :: app () -> defaultController . sin embargo, usa una cadena para comparar.

aclamaciones


$check_home=$path==''site/index.html''?''TRUE'':''False''; $path=Yii::$app->request->pathInfo;

hacer según su lógica si check_home es verdadero o falso

Estoy eliminando mis barras laterales en la página de inicio


Si desea verificar la página actual, es decir, la acción es la predeterminada del controlador actual.

$controller = Yii::app()->getController(); $isHome = $controller->action->id === $controller->defaultAction->id ? true : false;

dafeultaction puede no ser siempre ''index'', puede modificarse, por lo que debe compararlo con defaultAction en su lugar ...

Y en la página de inicio si se refiere a la página de defituación del sitio, entonces necesita comparar su controlador también con el controlador defaultController .

$controller = Yii::app()->getController(); $default_controller = Yii::app()->defaultController; $isHome = (($controller->id === $default_controller->id) && ($controller->action->id === $controller->defaultAction->id)) ? true : false;

En Yii2:

$controller = Yii::$app->controller; $default_controller = Yii::$app->defaultRoute; $isHome = (($controller->id === $default_controller) && ($controller->action->id === $controller->defaultAction)) ? true : false;


if(Url::current() == ''/index.php?r=site%2Findex'' || Url::current() == Url::home()){


Puede ser que esto te ayude :)

<?php $controllerl = Yii::$app->controller; $homecheker = $controllerl->id.''/''.$controllerl->action->id; if($homecheker==''site/index'') { //no border on home page $mymaincls =''main-nav navbar-fixed-top''; }else { //border all other page $mymaincls =''main-nav navbar-fixed-top header-border''; } ?>