Question

Cela vaut pour Kohana 2.3.2

J'ai récemment commencé à faire mon point de vue plus dynamique. Utilisation de l'affichage du modèle par défaut comme base, maintenant que je fais dans le contrôleur

$this->template->innerView = new View('article');

Alors, au milieu de mon template.php, j'ai

<?php echo $innerView; ?>

Pour faire écho aux « tripes » de la vue article entre mon en-tête et pied de page. Cela fonctionne très bien, à l'exception de tous les vars I définis sont inaccessibles à $this->template de la nouvelle vue. Je sais que je pourrais probablement faire

$this->template->innerView->title = 'My Title';

Mais s'il y avait un moyen de faire des vues enfants héritent les variables de leurs parents, ce serait grand.

Y at-il?

Était-ce utile?

La solution

La méthode set_global () ne définit que la variable soit globale dans tous les points de vue. Ce n'est pas ce que vous pensez quand vous entendez « Global » en PHP et vous avez bien compris, c'est exactement ce que vous devez utiliser lorsque vous souhaitez effectuer une variable disponible sur plusieurs vues.

Autres conseils

http://docs.kohanaphp.com/core/view#set_global

Je avais besoin parce que j'utilise le titre de la page dans le modèle normal (pour l'intérieur <title></title>) et aussi comme de la page <h2></h2>.

Il est aussi simple que cela

$this->template->innerView = new View('article');
$this->template->set_global('title', 'My Title');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top