开发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,
- ));