在一行上显示Zend_Form_Element Radio

时间:2009-07-21 22:36:25

标签: php zend-framework zend-form radio-button

Zend Framework中的单选按钮显示在一列中(每行一个选项)。如何从标记中删除br标记,以便所有无线电选项保持在一行?

我的装饰者是:

private $radioDecorators = array(
    'Label',
    'ViewHelper',
    array(array('data' => 'HtmlTag'), array('tag' => 'div', 'class' => 'radio')),
    array(array('row' => 'HtmlTag'), array('tag' => 'li')),
);

3 个答案:

答案 0 :(得分:51)

您需要在Zend_Form_Element_Radio对象上调用setSeparator方法,并传递它''。以下是here的示例:

<?php     

class CustomForm extends Zend_Form
{
  public function init()
  {
    $this->setMethod('post');
    $this->setAction('user/process');
    $gender = new Zend_Form_Element_Radio('gender');
    $gender->setLabel('Gender:')
      ->addMultiOptions(array(
        'male' => 'Male',
        'female' => 'Female'
      ))
      ->setSeparator('');
  }
}

答案 1 :(得分:3)

使用以下选项

array("listsep" => ' ')

这将通过''

进行无线电分离

答案 2 :(得分:1)

使用Zend_Form_Element_Radio :: setSeparator($ separator)方法:

e.g。

$element->setSeparator('');

分隔符默认为'\&lt; \ br /&gt;'如getSeparator()所示。