Pregunta

Esto se aplica a Kohana 2.3.2

Recientemente he comenzado a hacer mis puntos de vista más dinámico. Usando la vista plantilla predeterminada como base, ahora que estoy haciendo en el controlador

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

A continuación, en el medio de mi template.php, tengo

<?php echo $innerView; ?>

A repetir las 'tripas' de la vista de artículos entre mi cabecera y el pie. Esto funciona bien, excepto todos los VARs I definidos a $this->template son inaccesibles desde la nueva vista. Sé que probablemente podría hacer

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

Pero si había una manera de hacer que los niños Vistas heredan las variables de sus padres, que sería grande.

¿Hay?

¿Fue útil?

Solución

El método SET_GLOBAL () sólo establece la variable sea global en todas las vistas. No es lo que piensas cuando escuchas "global" en PHP por lo que lo ha hecho bien, esto es exactamente lo que se debe utilizar cuando se quiere hacer una variable disponible a través de múltiples puntos de vista.

Otros consejos

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

I necesitaba esto porque uso el título de la página en la plantilla normal (en el plazo de <title></title>) y también como el <h2></h2> de la página.

Es tan simple como esto

$this->template->innerView = new View('article');
$this->template->set_global('title', 'My Title');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top