Foros del Web » Programando para Internet » PHP » Zend »

zend, _initLayouts(), y main.phtml

Estas en el tema de zend, _initLayouts(), y main.phtml en el foro de Zend en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/11/2009, 02:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 2
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;
}

Última edición por GatorV; 15/11/2009 a las 16:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:10.