2011-06-21 18 views
6

mam na kontroler init() wykaz wspólnych stylów:Zend Framework: Jak rozbroić jeden arkusz stylów z pomocnika 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'); 

co potrzebne jest sposobem na usunięcie jednego z arkuszy stylów od ułóż później w jednym z działań tego kontrolera.

wdzięczni za pomoc, pretekst mój angielski

Odpowiedz

7

lub można użyć

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

Aby dowiedzieć się offsetToBeRemoved można też uzyskać iterator ($this->view->headLink()->getIterator()) lub pojemnik $this->view->headLink()->getContainer() pętli thru), to i dostać klucz jesteś zainteresowany w.

+0

działa dobrze, thx! – Zippp

4

Na przykład, jeśli chcesz usunąć „/style/style2.css” można zrobić w działaniu, co następuje:

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

to działa ponieważ kontener (tj. instancja Zend_View_Helper_Placeholder_Container) rozciąga się na ArrayObject. Oznacza to, że możesz manipulować elementami headLink tak, jakbyś korzystał z tablicy.

Mam nadzieję, że to pomoże.

3

Można również ustawić pusty pojemnik tak:

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