2009-05-11 10 views
0

Ceci s'applique à Kohana 2.3.2Une vue dans Kohana peut-elle accéder aux variables de View?

J'ai récemment commencé à rendre mes vues plus dynamiques. 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'); 

Puis, au milieu de mon template.php, je

<?php echo $innerView; ?> 

Pour faire écho aux « entrailles » de l'article vue entre mon en-tête et pied de page. Cela fonctionne bien, sauf que toutes les vars que j'ai définies à $this->template sont inaccessibles à partir 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 génial.

Y a-t-il?

Répondre

4

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, donc vous avez bien compris, c'est exactement ce que vous devriez utiliser lorsque vous voulez rendre une variable disponible sur plusieurs vues.

-1

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>) ainsi que la <h2></h2> de la page.

Il est aussi simple que cela

$this->template->innerView = new View('article'); 
$this->template->set_global('title', 'My Title');