16

Zend Framework のラジオ ボタンは列に表示されます (1 行に 1 つのオプション)。すべてのラジオ オプションが 1 行に収まるように、マークアップから br タグを削除するにはどうすればよいですか?

私のデコレータは次のとおりです。

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

3 に答える 3

51

Zend_Form_Element_Radio オブジェクトの setSeparator メソッドを呼び出して、'' を渡す必要があります。ここからの例は次のとおりです。

<?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('');
  }
}
于 2009-07-21T22:40:53.643 に答える
3

次のようにオプションを使用します

array("listsep" => ' ')

これにより、「 」による無線分離が行われます。

于 2009-08-28T14:25:14.287 に答える
1

Zend_Form_Element_Radio::setSeparator($separator) メソッドを使用します。

例えば

$element->setSeparator('');

getSeparator() で示されるように、区切り文字のデフォルトは '\<\br />' です。

于 2009-07-21T22:41:15.560 に答える