Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Quelqu'un connait-il un moyen élégant pour savoir si une balise 'meta' particulière a déjà été initialisée avec headMeta()->appendName(- - -), plutôt que de faire un headMeta()->getArrayCopy et de parcourir le tableau ?
Explication:
Toute mes vues apellent 'header.phtml'.
Dans 'header.phtml', je veux savoir si une des vue a déjà positionné la balise meta 'robots', sinon je mets une valeur (par défaut donc).
Même cas d'utilisation avec la balise Title.
Merci,
Eric.
Hors ligne
La doc 'API' du ZF peut être utile.
On apprend que le helper implémente 'IteratorAggregate, Countable, ArrayAccess'
ArrayAccess te permet donc d'utiliser la fonction isset normalement sur ton helper comme si c'était un tableaux
Hors ligne
Merci !
Il faut quand même parcourir le tableau, mais on gagne légèrement en écriture.
J'ai fait ça :
//======================== // isMetaSet // Test si une balise 'meta' est positionnee //------------------------ function isMetaSet($PTagArray, $PType, $PValue) { foreach($PTagArray as $value) { if (($value->type == $PType) && ($value->name == $PValue)) return true; } return false; } - - - if (!isMetaSet($this->headMeta(), 'name', 'robots')) $this->headMeta()->appendName('robots', 'follow,index');
Eric.
Hors ligne