开发Magento后台的时候经常用到表单(Varien_Data_Form),下面是所有表单元素的添加方法:
非必填 注释掉
'class' => 'required-entry', 'required' => true,
1.input type='text'
$fieldset->addField('title', 'text', array( 'label' => 'Title3', 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => 'alert("on click");', 'onchange' => 'alert("on change");', 'style' => 'border:10px', 'value' => 'hello !!', 'disabled' => false, 'readonly' => true, 'after_element_html' => 'Comments', 'tabindex' => 1 ));
2.Time时间类型
$fieldset->addField('time', 'time', array( 'label' => 'Time', 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => '', 'onchange' => '', 'value' => '12,04,15', 'disabled' => false, 'readonly' => false, 'after_element_html' => '<script src="js/extjs/ext-tree.js" type="text/javascript">', 'tabindex' => 1 ));
3.textarea
$fieldset->addField('textarea', 'textarea', array( 'label' => 'TextArea', 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => '', 'onchange' => '', 'value' => '<b><b/>', 'disabled' => false, 'readonly' => false, 'after_element_html' => '<small>Comments</small>', 'tabindex' => 1 ));
4.input type='submit'
$fieldset->addField('submit', 'submit', array( 'label' => 'Submit', 'required' => true, 'value' => 'Submit', 'after_element_html' => '', 'tabindex' => 1 ));
5.select option
$fieldset->addField('select', 'select', array( 'label' => '页面样式', 'class' => 'required-entry', 'required' => true, 'name' => 'skin', 'onclick' => '', 'onchange' => '', 'value' => '1', 'values' => array('-1' => '请选择', '1' => '红', '2' => '蓝'), 'disabled' => false, 'readonly' => false, 'after_element_html' => '', 'tabindex' => 1 ));
6.带optgroup的select
$fieldset->addField('select2', 'select', array( 'label' => 'Select Type2', 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => '', 'onchange' => '', 'value' => '4', 'values' => array( '-1' => 'Please Select..', '1' => array( 'value' => array(array('value' => '2', 'label' => 'Option2'), array ('value' => '3', 'label' => 'Option3')), 'label' => 'Size' ), '2' => array( 'value' => array(array('value' => '4', 'label' => 'Option4'), array ('value' => '5', 'label' => 'Option5')), 'label' => 'Color' ), ), 'disabled' => false, 'readonly' => false, 'after_element_html' => '', 'tabindex' => 1 ));
7.单选框input type='radio'
$fieldset->addField('radio', 'radio', array( 'label' => 'Radio', 'name' => 'title', 'onclick' => '', 'onchange' => '', 'value' => '1', 'disabled' => false, 'readonly' => false, 'after_element_html' => '', 'tabindex' => 1 )); $fieldset->addField('radio2', 'radios', array( 'label' => 'Radios', 'name' => 'title', 'onclick' => '', 'onchange' => '', 'value' => '2', 'values' => array( array('value' => '1', 'label' => 'Radio1'), array('value' => '2', 'label' => 'Radio2'), array('value' => '3', 'label' => 'Radio3'), ), 'disabled' => false, 'readonly' => false, 'after_element_html' => '', 'tabindex' => 1 ));
8.Password元素 input type='password
$fieldset->addField('password', 'password', array( 'label' => Mage::helper('form')->__('Password'), 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => '', 'onchange' => '', 'style' => '', 'value' => 'hello !!', 'disabled' => false, 'readonly' => false, 'after_element_html' => '', 'tabindex' => 1 )); $fieldset->addField('obscure', 'obscure', array( 'label' => Mage::helper('form')->__('Obscure'), 'class' => 'required-entry', 'required' => true, 'name' => 'obscure', 'onclick' => '', 'onchange' => '', 'style' => '', 'value' => '123456789', 'after_element_html' => '', 'tabindex' => 1 ));
9.Note
$fieldset->addField('note', 'note', array( 'text' => Mage::helper('form')->__('Text Text'), ));
10.Multiselect复选框
$fieldset->addField('multiselect2', 'multiselect', array( 'label' => Mage::helper('form')->__('Select Type2'), 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => 'return false;', 'onchange' => 'return false;', 'value' => '4', 'values' => array( '-1' => array('label' => 'Please Select..', 'value' => '-1'), '1' => array( 'value' => array(array('value' => '2', 'label' => 'Option2'), array ('value' => '3', 'label' => 'Option3')), 'label' => 'Size' ), '2' => array( 'value' => array(array('value' => '4', 'label' => 'Option4'), array ('value' => '5', 'label' => 'Option5')), 'label' => 'Color' ), ), 'disabled' => false, 'readonly' => false, 'after_element_html' => ' ', 'tabindex' => 1 ));
11.Multiline
$fieldset->addField('multiline', 'multiline', array( 'label' => Mage::helper('form')->__('Multi Line'), 'class' => 'required-entry', 'required' => true, 'name' => 'title', 'onclick' => '', 'onchange' => '', 'style' => 'border:10px', 'value' => 'hello !!', 'disabled' => false, 'readonly' => true, 'after_element_html' => '', 'tabindex' => 1 ));
12.Link 链接
$fieldset->addField('link', 'link', array( 'label' => Mage::helper('form')->__('Link'), 'style' => '', 'href' => 'www.excellencemagentoblog.com', 'value' => 'Magento Blog', 'after_element_html' => '' ));
13.普通Label
$fieldset->addField('label', 'label', array( 'value' => Mage::helper('form')->__('Label Text'), ));
14.Image Upload图片上传
$fieldset->addField('image', 'image', array( 'value' => 'http://www.test.com//images/logo.png', ));
15.File Upload文件上传
$fieldset->addField('file', 'file', array( 'label' => Mage::helper('form')->__('Upload'), 'value' => 'Uplaod', 'disabled' => false, 'readonly' => true, 'after_element_html' => '', 'tabindex' => 1 ));
16.日期Date
$fieldset->addField('date_expires', 'date', array( 'name' => 'date_expires', 'label' => '过期时间', 'title' => '过期时间', 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'input_format' => Varien_Date::DATE_INTERNAL_FORMAT, 'format' => Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM) ));
17.Checkbox
$fieldset->addField('checkbox', 'checkbox', array( 'label' => Mage::helper('form')->__('Checkbox'), 'name' => 'Checkbox', 'checked' => false, 'onclick' => '', 'onchange' => '', 'value' => '1', 'disabled' => false, 'after_element_html' => '', 'tabindex' => 1 )); $fieldset->addField('checkboxes', 'checkboxes', array( 'label' => Mage::helper('form')->__('Checkboxs'), 'name' => 'Checkbox', 'values' => array( array('value' => '1', 'label' => 'Checkbox1'), array('value' => '2', 'label' => 'Checkbox2'), array('value' => '3', 'label' => 'Checkbox3'), ), 'onclick' => '', 'onchange' => '', 'value' => '1', 'disabled' => false, 'after_element_html' => '', 'tabindex' => 1 ));
添加文本编辑器 js部分
protected function _prepareLayout() { parent::_prepareLayout(); if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) { $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true); } }
Form
$fieldset->addField('content', 'editor', array( 'name' => 'content', 'label' => 'Content', 'title' => 'Content', 'style' => 'height:15em', 'config' => Mage::getSingleton('cms/wysiwyg_config')->getConfig(), 'wysiwyg' => true, 'required' => false, ));