y a-t-il une méthode de construction ou une propriété dans Yii pour vérifier si la page est la page d'accueil?
Je sais que je peux utiliser quelque chose comme ceci: p> ou le mettre dans Une méthode dans le contrôleur principal, mais je cherche quelque chose de nettoyant. P> Merci. p> p>
9 Réponses :
Si par 'Homepage', vous voulez dire "FrontPage", vous pouvez vérifier Cette extension que fait exactement cela. p>
Si vous souhaitez vérifier la page en cours, c'est-à-dire que l'action est la valeur par défaut du contrôleur actuel.
$controller = Yii::$app->controller; $default_controller = Yii::$app->defaultRoute; $isHome = (($controller->id === $default_controller) && ($controller->action->id === $controller->defaultAction)) ? true : false;
Dans mon cas, le code est: $ contrôleur = yii :: app () -> getController (); $ ishome = $ contrôleur-> action-> id === $ contrôleur-> défaut? vrai: faux; code>
Vous pouvez vérifier la page d'accueil à l'aide de l'extension Pagechecker:
http://www.yiiframework.com/extension/pagechecker
Pourriez-vous expliquer un peu plus sur cette extension? Un lien seul est un peu peu pour répondre à une question.
C'est ce que j'utilise pour vérifier si je suis sur le frontpage: fonctionne comme un charme ... même sur des vues ... p> p >
Vous pouvez comparer le contrôleur et l'action actuels avec le contrôleur et l'action par défaut.
$controller = Yii::app()->getController(); $default_controller = Yii::app()->defaultController; $isHome = $controller->getId() === $default_controller && $controller->getAction()->getId() === 'index';
$check_home=$path=='site/index.html'?'TRUE':'False'; $path=Yii::$app->request->pathInfo; do as per your logic if check_home is true or false i am removing my sidebars on home page
// en yii2 // cela fonctionnera // Cela vérifiera si la page d'accueil ou non
if(Url::current() == '/index.php?r=site%2Findex' || Url::current() == Url::home()){
Peut-être que cela vous aide :)
<?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'; } ?>
namespace common\helpers; class Url extends \yii\helpers\Url { public static function isHome() { return (self::home() == Yii::$app->request->url); } }
Bien que ce code puisse résoudre la question, , y compris une explication de la manière et pourquoi cela résout le problème aiderait vraiment à améliorer la qualité de votre post et aboutit probablement à des votes supplémentaires. N'oubliez pas que vous répondez à la question pour les lecteurs à l'avenir, pas seulement la personne qui demande maintenant. S'il vous plaît Modifier Votre réponse Pour ajouter des explications et donner une indication de quelles limitations et hypothèses s'appliquent.