> 백엔드 개발 > PHP 튜토리얼 > zend_form 装饰器有关问题

zend_form 装饰器有关问题

WBOY
풀어 주다: 2016-06-13 13:52:21
원래의
846명이 탐색했습니다.

zend_form 装饰器问题
表单里有个 项是单选框 ,包括4个选项,怎么让他们在一行显示啊 ,就是控制不好装饰器,初学zend framework,请帮忙指点下下

require_once ('Zend\Form.php');

class MessageForm extends Zend_Form {
  public function __construct($options = null){
  parent::__construct($options);
  $this->setName('message')->setAction('mangaer/message'); //设置表单名称  
  $m_type = new Zend_Form_Element_radio('m_type'); //添加表单元素
  $m_type->setLabel('主题分类')
->setMultiOptions(array('1'=>'我有疑问','2'=>'我的建议','3'=>'翻译服务', '4'=>'网站修改'))
  ->setRequired(true);
  $password = new Zend_Form_Element_Password('password'); //添加表单元素
  $password->setLabel('密码')
  ->setRequired(true)
  ->clearDecorators()
  ->addValidator('NotEmpty');  
   
  $submit = new Zend_Form_Element_Submit('submit'); //添加提交按钮
  $submit->setLabel('提交');
   
  $this->addElements(array($m_type,$password, $submit));//向表单中添加元素
   
   
  $this->clearDecorators();
  $this->addDecorator('FormElements')
  ->addDecorator('HtmlTag', array('tag' => '

    '))
      ->addDecorator('Form');
       
      $this->setElementDecorators(array(
      array('ViewHelper'),
      array('Errors'), 
      array('Label', array('separator'=>' ','tag'=>'label `')),
      array('HtmlTag', array('tag' => 'li', 'class'=>'element-group')),
      ));  

      // buttons do not need labels
      $submit->setDecorators(array(
      array('ViewHelper'),
      array('Description'),
      array('HtmlTag', array('tag' => 'li', 'class'=>'submit-group')),
      ));
       
     
      }
    }

    ?>

    ------解决方案--------------------
    这是因为zend framework生成了
  • 这个html标签,所以他才会显示在不同行,你将标签改掉就可以了
    array('HtmlTag', array('tag' => 'span', 'class'=>'element-group')),
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿