Display Zend_Form_Element_Radio on one line

不问归期 提交于 2019-11-26 21:12:50

问题


The radio buttons in Zend Framework are displayed in a column (one option per line). How can I remove the br tag from the markup so that all radio options stay in one line?

My decorators are:

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

回答1:


You need to call the setSeparator method on the Zend_Form_Element_Radio object, passing it ''. Here's an example from 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('');
  }
}



回答2:


use options as follows

array("listsep" => ' ')

This will make radio seperation by ' '




回答3:


Use the Zend_Form_Element_Radio::setSeparator($separator) method:

e.g.

$element->setSeparator('');

The separator defaults to '\<\br />' as shown by getSeparator().



来源:https://stackoverflow.com/questions/1162107/display-zend-form-element-radio-on-one-line

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!