[英]Yii check if homepage
在Yii中是否有buildin方法或属性来检查页面是否是主页?
我知道我可以使用这样的东西:
$controller = Yii::app()->getController();
$isHome = $controller->getAction()->getId() === 'index' ? true : false;
或者把它放在主控制器的方法中,但我正在寻找更清洁的东西。
谢谢。
如果要检查当前页面,即action是当前控制器的默认值。
$controller = Yii::app()->getController();
$isHome = $controller->action->id === $controller->defaultAction->id ? true : false;
dafeultaction可能并不总是'index',可以更改,所以你需要将它与defaultAction进行比较。
如果你的意思是网站的defult页面,那么你需要将你的控制器与defaultController
进行比较。
$controller = Yii::app()->getController();
$default_controller = Yii::app()->defaultController;
$isHome = (($controller->id === $default_controller->id) && ($controller->action->id === $controller->defaultAction->id)) ? true : false;
在Yii2:
$controller = Yii::$app->controller;
$default_controller = Yii::$app->defaultRoute;
$isHome = (($controller->id === $default_controller) && ($controller->action->id === $controller->defaultAction)) ? true : false;
这是我用来检查我是否在首页上的内容:
$isFrontpage = false;
if ((Yii::app()->controller->getId().'/'.Yii::app()->controller->getAction()->getId()) == 'site/index' ) {
$isFrontpage = true;
}
像魅力一样......即使在观看......
可能这对你有帮助:)
<?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';
}
?>
如果通过'主页'表示'首页',那么您可以检查此扩展程序是否正确执行此操作。
你可以使用扩展页面检查主页查看:
http://www.yiiframework.com/extension/pagechecker
您可以将当前控制器和操作与默认控制器和操作进行比较。
$controller = Yii::app()->getController();
$default_controller = Yii::app()->defaultController;
$isHome = $controller->getId() === $default_controller && $controller->getAction()->getId() === 'index';
我无法通过Yii :: app()访问默认操作,如Yii :: app() - > defaultController 。 但是你使用字符串进行比较。
干杯
$check_home=$path=='site/index.html'?'TRUE':'False';
$path=Yii::$app->request->pathInfo;
如果check_home为true或false,请按照您的逻辑执行
我正在主页上删除我的侧边栏
if(Url::current() == '/index.php?r=site%2Findex' || Url::current() == Url::home()){
namespace common\helpers;
class Url extends \yii\helpers\Url
{
public static function isHome()
{
return (self::home() == Yii::$app->request->url);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.