Può un Visualizza in Kohana accedere alle variabili suo genitore di Vista?
Domanda
Questo vale per Kohana 2.3.2
Di recente ho iniziato a fare le mie opinioni più dinamico. Usando la vista modello predefinito come base, ora sto facendo nel controller
$this->template->innerView = new View('article');
Poi, nel bel mezzo della mia template.php
, ho
<?php echo $innerView; ?>
Per eco il 'coraggio' di vista articoli tra la mia intestazione e piè di pagina. Questo funziona bene, tranne che tutti i vars ho definito a $this->template
sono inaccessibili dalla nuova visualizzazione. So che probabilmente avrei potuto fare
$this->template->innerView->title = 'My Title';
Ma se ci fosse un modo per rendere i bambini ereditano Visualizzazioni variabili dei loro genitori, che sarebbe grande.
C'è?
Soluzione
Il metodo set_global () imposta solo la variabile per essere globale in tutti i punti di vista. Non è quello che si pensa quando si sente "globale" in PHP così hai capito bene, questo è esattamente ciò che si dovrebbe usare quando si vuole fare una variabile disponibile su più punti di vista.
Altri suggerimenti
http://docs.kohanaphp.com/core/view#set_global
Avevo bisogno di questo perché io uso il titolo della pagina nel modello normale (per entro <title></title>
) ed anche come il <h2></h2>
della pagina.
E 'semplice come questo
$this->template->innerView = new View('article');
$this->template->set_global('title', 'My Title');