J'ai mis en place un menu dans Yii (mon premier projet utilisant) comme ceci:Yii CMenu Widget - Comment obtenir Page d'accueil
$this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/')),
array('label'=>'Examples', 'url'=>array('/examples')),
array('label'=>'Contact', 'url'=>array('/contact')),
array('label'=>'FAQ', 'url'=>array('/faq')),
array('label'=>'Blog', 'url'=>array('/blog')),
array('label'=>'Order', 'url'=>array('/order')),
),
));
Chacun de ces chemins d'URL, tels que /exemples est un itinéraire défini dans ma config afin qu'il ne ressemble pas site/exemples.
Pour le lien Accueil, j'essaie d'obtenir simplement un lien vers le niveau racine du site. Apparemment, le widget CMenu passe l'URL par CHtml::normalizeUrl() en premier ce qui finit par le faire pointer sur la page en cours. Donc, si je suis sur la page des exemples, le lien de la maison pointe à /exemples.
C'est ce que normalizeUrl() dit qu'il fait:
Si le paramètre d'entrée est une chaîne vide, l'URL demandée actuellement sera retourné.
Si le paramètre d'entrée est une chaîne non vide, il est traité comme une URL valide et sera renvoyé sans aucune modification.
Si le paramètre d'entrée est un tableau, il est traité comme une route de contrôleur et une liste de paramètres GET, et la méthode CController :: createUrl sera invoquée pour créer une URL.
J'ai essayé de passer une chaîne vide et elle pointe vers l'URL de la requête en cours comme prévu. J'ai essayé de passer "/" qui est une chaîne non-vide et points toujours à l'URL de la requête en cours. J'ai également essayé de lui passer un tableau et il meurt avec trim() expects parameter 1 to be string, array given
parce que le CMenu attend une chaîne. J'essaie de faire les choses de la manière Yii mais je suis sérieusement sur le point de laisser le menu statique s'il ne peut pas répondre à quelque chose d'aussi simple que de retourner à la page d'accueil. Comment puis-je faire en sorte que le widget CMenu de Yii crée un lien vers "/" ou vers le domaine de base?
cool C'est exactement ce que je voulais. Merci! –
quel fichier devrais-je mettre cela? – David
Vous pouvez mettre cet extrait dans n'importe quel fichier –