2009-12-03 45 views
1

我需要裝點Zend_Form_Element_MultiCheckbox成無序列表裝潢Zend_Form_Element_MultiCheckbox,我可以<li>得到每個項目環繞,通過設置setSeparator到</li><li>和HtmlTag標籤<li>在一個無序列表

我只是得到找到任何圍繞此列表設置<ul>,任何人都能指出我正確的方向?

感謝您閱讀(我的代碼如下所示)

$interests = new Zend_Form_Element_MultiCheckbox('foo'); 
    $interests->setSeparator('</li><li>'); 

    foreach ($interestsTable->findForSelect() as $interest) { // For earch interest add an option 
     $interests->addMultiOption($interest->interest_id, $interest->interest); 
    } 

    // Decorate the interests 
    $interests->setDecorators(array(
    array('ViewHelper'), 
    array('label', array(
    'tag' => 'span' )), 
    array('HtmlTag', array(
    'tag' => 'li', 'class' => 'interestOption')) 
)); 

回答

1

我不能給你任何代碼,將工作過我的頭頂,但是,從閱讀的文檔,很明顯,你可以根據需要多次重複使用裝飾器。你只需要爲他們指定一個新的名字。

請看:http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.decorators,特別是標題爲「使用同一類型的多個裝飾器」的部分。

此基礎上,下面可能工作(但我沒有測試它,它可能是錯誤的順序或任何東西):

$interests->setDecorators(
    array(
     array('ViewHelper'), 
     array('label', array('tag' => 'span')), 
     array('HtmlTag', array('tag' => 'li', 'class' => 'interestOption')), 
     array(
      'decorator' => array('LiTag' => 'HtmlTag'), 
      'options' => array('tag' => 'ul') 
     ) 
    ) 
); 
+0

感謝奏效一種享受 - 我得到的是什麼回事也是 – Timmeh 2009-12-04 11:15:15

相關問題