Hola,
estoy usando Zend Application, y una función _initLayouts() en el Bootstrap. El tema es que luego de asignarle distintos valores a $layout, no puedo lograr capturarlos en mi main.phtml.
protected function _initLayouts() {
$layout = $this->getPluginResource('layout');
if ($this->hasResource('config')) {
$config = $this->getResource('config'); //apunta a mi application.ini
//$layout->cssPath = $config->resources->layout->cssPath;
$layout->cssPath = $config->layout->cssPath;
}
return $layout;
}
y en mi main.phtml trato de capturar cssPath así:
<link rel="stylesheet" type="text/css" media="all"
href="<?php echo $this->baseUrl.'/'.$this->layout()->cssPath; ?>mi.css"/>
¿cuál es la sintaxis para tomar dicho valor? o tengo algún otro error?
Encontre el error,
en las notas que me habían pasado faltaba colocar una línea:
$layout = Zend_Layout::startMvc($config->layout);
que va luego de la asignacion de $config:
$config= $this->getResource('config');
saludos.
NO NO NO NO !!!
Tal me ha vuelto a explicar el profe zsamer en sus cursos de Zend, al usar Zend Application no preciso inializar manualmente con startMvc .
el problema que planteé, tiene como error la falta de un par de sentencias. Este parrafo completo debe quedar de la siguiente forma dentro de nuestro Bootstrap:
protected function _initLayout() {
$resource = $this->getPluginResource('layout');
$layout = $resource->init();
if ($this->hasResource('config')) {
$config = $this->getResource('config');
$layout->titulo = $config->parametros->titulo;
$layout->footer = $config->parametros->inicio->autor;
}
lo que hacemos es utilizar el Plugin Resource que nos permite cargar valores desde el application.ini .
resources.layout.layout = "main"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.layout.jsPath = js/
resources.layout.cssPath = css/
return $layout;
}