6
votes

Yii vérifier si page d'accueil

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: xxx

ou le mettre dans Une méthode dans le contrôleur principal, mais je cherche quelque chose de nettoyant.

Merci.


0 commentaires

9 Réponses :


1
votes

Si par 'Homepage', vous voulez dire "FrontPage", vous pouvez vérifier Cette extension que fait exactement cela.


0 commentaires

13
votes

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;


1 commentaires

Dans mon cas, le code est: $ contrôleur = yii :: app () -> getController (); $ ishome = $ contrôleur-> action-> id === $ contrôleur-> défaut? vrai: faux;



1
votes

Vous pouvez vérifier la page d'accueil à l'aide de l'extension Pagechecker:

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


1 commentaires

Pourriez-vous expliquer un peu plus sur cette extension? Un lien seul est un peu peu pour répondre à une question.



6
votes

C'est ce que j'utilise pour vérifier si je suis sur le frontpage: xxx

fonctionne comme un charme ... même sur des vues ...


0 commentaires

1
votes

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';


0 commentaires

1
votes
$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

1 commentaires

// en yii2 // cela fonctionnera // Cela vérifiera si la page d'accueil ou non



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

0 commentaires

2
votes

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';
  }
?>


0 commentaires

1
votes
namespace common\helpers;

class Url extends \yii\helpers\Url
{
    public static function isHome()
    {
        return (self::home() == Yii::$app->request->url);
    }
}

1 commentaires

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.