2011-06-21 7 views
6

tengo en el controlador de init() una lista de los estilos comunes:Zend Framework: Cómo desarmar la hoja de estilo del ayudante HeadLink

$this->view->headLink()->setStylesheet('/style/style.css'); 
$this->view->headLink()->appendStylesheet('/style/style2.css'); 
$this->view->headLink()->appendStylesheet('/style/style3.css'); 
$this->view->headLink()->appendStylesheet('/style/forms.css'); 
$this->view->headLink()->appendStylesheet('/style/ie_patches.css','all','lte IE 7'); 

lo que necesito es la manera de eliminar una de las hojas de estilo de la apilar más tarde en una de las acciones de este controlador.

aprecio su ayuda, mi excusa Inglés

Respuesta

7

o puede utilizar

$this->view->headLink()->offsetUnset($offsetToBeRemoved); // offsetToBeRemoved should be integer 

a averiguar el offsetToBeRemoved se puede obtener ya sea el iterador ($this->view->headLink()->getIterator()) o el contenedor $this->view->headLink()->getContainer()), bucle a través de él y obtener la clave que estás intrested en.

+0

funciona bien, thx! – Zippp

4

Por ejemplo, si desea eliminar '/style/style2.css' que puede hacer en una acción de la siguiente manera:

$headLinkContainer = $this->view->headLink()->getContainer(); 
    unset($headLinkContainer[1]); 

Estos trabajos porque el contenedor (es decir, instancia de Zend_View_Helper_Placeholder_Container) se extiende a ArrayObject. Esto significa que puede manipular los elementos de headLink como si estuviera usando una matriz.

Espero que esto ayude.

3

También puede configurar el envase vacío como esto:

$this->view->headLink()->setContainer(
    new Zend_View_Helper_Placeholder_Container() 
); 
Cuestiones relacionadas