2009-12-03 2 views
1

мне нужно украсить, чтобы Zend_Form_Element_MultiCheckbox в неупорядоченный список, я могу получить каждый пункт окружать <li>, установив setSeparator в </li><li> а HtmlTag тег в <li>украшения Zend_Form_Element_MultiCheckbox в неупорядоченном списке

Я просто найти что-нибудь установите <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

Смежные вопросы