/** * Prepare form before rendering HTML * * @return Mage_Adminhtml_Block_Widget_Form */ protected function _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); $fieldset = $form->addFieldset('general', array('legend' => $this->_helper()->__('General'))); $fieldset->addField('name', 'text', array('label' => $this->_helper()->__('Name'), 'required' => true, 'name' => 'name')); $fieldset->addField('id', 'text', array('label' => $this->_helper()->__('Form ID'), 'required' => true, 'name' => 'id', 'style' => 'display: inline; width: 209px;', 'class' => 'validate-identifier', 'after_element_html' => $this->_isNew() ? $this->_getGenerateUrlKeyButtonHtml() : "")); /** @var Magpleasure_Forms_Model_Form_Status $statuses */ $statuses = Mage::getSingleton('forms/form_status'); $fieldset->addField('status', 'select', array('name' => 'status', 'label' => $this->_helper()->__('Status'), 'values' => $statuses->toOptionArray())); if (!Mage::app()->isSingleStoreMode()) { $fieldset->addField('stores', 'multiselect', array('label' => $this->_helper()->__('Visible In'), 'required' => true, 'name' => 'stores[]', 'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm())); } $fieldset->addField('layout', 'select', array('label' => $this->_helper()->__('Form Page Layout'), 'name' => 'layout', 'values' => Mage::getSingleton('page/source_layout')->toOptionArray())); $fieldset = $form->addFieldset('description', array('legend' => $this->_helper()->__('Description'))); try { $config = Mage::getSingleton('cms/wysiwyg_config')->getConfig(); $config->setData($this->_helper()->recursiveReplace('/forms_admin/', '/' . (string) Mage::app()->getConfig()->getNode('admin/routers/adminhtml/args/frontName') . '/', $config->getData())); } catch (Exception $ex) { $config = null; } $fieldset->addField('submit_button_text', 'text', array('label' => $this->_helper()->__('Submit Button Text'), 'required' => true, 'name' => 'submit_button_text')); $fieldset->addField('before_form', 'editor', array('name' => 'before_form', 'label' => Mage::helper('cms')->__('Before Form'), 'title' => Mage::helper('cms')->__('Before Form'), 'required' => false, 'config' => $config, 'style' => 'width:600px; height:200px;')); $fieldset->addField('after_form', 'editor', array('label' => $this->_helper()->__('After Form'), 'title' => $this->_helper()->__('After Form'), 'required' => false, 'name' => 'after_form', 'config' => $config, 'style' => 'width:600px; height:200px;')); if (Mage::getSingleton('adminhtml/session')->getFormsData()) { $form->setValues(Mage::getSingleton('adminhtml/session')->getFormsData()); Mage::getSingleton('adminhtml/session')->setFormsData(null); } elseif (Mage::registry('forms_data')) { $form->setValues(Mage::registry('forms_data')->getData()); } return parent::_prepareForm(); }
/** * Prepare form before rendering HTML * * @return Mage_Adminhtml_Block_Widget_Form */ protected function _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); $fieldset = $form->addFieldset('options', array('legend' => $this->_helper()->__('Options'))); $fieldset->addField('guest_can_post', 'select', array('label' => $this->_helper()->__('Guest Can Post'), 'name' => 'guest_can_post', 'values' => Mage::getSingleton('adminhtml/system_config_source_yesno')->toOptionArray())); $fieldset->addField('approve_require', 'select', array('label' => $this->_helper()->__('Approve Require'), 'name' => 'approve_require', 'values' => Mage::getSingleton('adminhtml/system_config_source_yesno')->toOptionArray())); $fieldset = $form->addFieldset('submit_redirect', array('legend' => $this->_helper()->__('After Submit Redirect'))); $fieldset->addType('dropdown', 'Magpleasure_Common_Block_System_Entity_Form_Element_Dropdown'); $fieldset->addType('ajax_dropdown', 'Magpleasure_Common_Block_System_Entity_Form_Element_Ajax_Dropdown'); $additionalJavaScript = $this->_getAdditionalJavascript(); $fieldset->addField('redirect_type', 'dropdown', array('label' => $this->_helper()->__('Redirect To'), 'name' => 'redirect_type', 'values' => Mage::getSingleton('forms/system_config_source_form_redirect_type')->toOptionArray(), 'after_element_html' => "{$additionalJavaScript}")); $fieldset->addField('form_entity_id', 'ajax_dropdown', array('label' => $this->_helper()->__('Form'), 'name' => 'form_entity_id', 'class' => 'redirect_type_related', 'note' => $this->_helper()->__("Please type to select value"), 'data_source' => array('filter_field' => 'name', 'sort_field' => 'name', 'sort_direction' => 'ASC', 'entity_id_pattern' => "{{form_id}}", 'entity_label_pattern' => "{{name}}", 'model' => 'forms/form'))); $fieldset->addField('cms_page_entity_id', 'ajax_dropdown', array('label' => $this->_helper()->__('CMS Page'), 'name' => 'cms_page_entity_id', 'class' => 'redirect_type_related', 'note' => $this->_helper()->__("Please type to select value"), 'data_source' => array('filter_field' => 'title', 'sort_field' => 'title', 'sort_direction' => 'ASC', 'entity_id_pattern' => "{{page_id}}", 'entity_label_pattern' => "{{title}}", 'model' => 'cms/page'))); $fieldset->addField('product_entity_id', 'ajax_dropdown', array('label' => $this->_helper()->__('Product'), 'name' => 'product_entity_id', 'note' => $this->_helper()->__("Please type to select value"), 'class' => 'redirect_type_related', 'data_source' => array('filter_field' => 'name', 'sort_field' => 'name', 'sort_direction' => 'ASC', 'entity_id_pattern' => "{{entity_id}}", 'entity_label_pattern' => $this->_helper()->__("{{name}}, SKU: {{sku}}"), 'model' => 'catalog/product', 'methods' => array(array('method' => 'addAttributeToSelect', 'parameters' => array('name')))))); $fieldset->addField('category_entity_id', 'ajax_dropdown', array('label' => $this->_helper()->__('Category'), 'name' => 'category_entity_id', 'note' => $this->_helper()->__("Please type to select value"), 'class' => 'redirect_type_related', 'data_source' => array('filter_field' => 'name', 'sort_field' => 'name', 'sort_direction' => 'ASC', 'entity_id_pattern' => "{{entity_id}}", 'entity_label_pattern' => $this->_helper()->__("{{name}}"), 'model' => 'catalog/category', 'methods' => array(array('method' => 'addAttributeToSelect', 'parameters' => array('name')))))); if ($this->_helper()->getCommon()->getMagento()->isModuleEnabled("Magpleasure_Blog")) { $fieldset->addField('blog_post_entity_id', 'ajax_dropdown', array('label' => $this->_helper()->__('Blog Post'), 'name' => 'blog_post_entity_id', 'note' => $this->_helper()->__("Please type to select value"), 'class' => 'redirect_type_related', 'data_source' => array('filter_field' => 'title', 'sort_field' => 'title', 'sort_direction' => 'ASC', 'entity_id_pattern' => "{{post_id}}", 'entity_label_pattern' => "{{title}}", 'model' => 'mpblog/post'))); } $fieldset = $form->addFieldset('list', array('legend' => $this->_helper()->__('Frontend List'))); $fieldset->addField('list_rows_responsive', 'select', array('label' => $this->_helper()->__('Show Rows Content'), 'name' => 'list_rows_responsive', 'values' => Mage::getSingleton('adminhtml/system_config_source_yesno')->toOptionArray())); $fieldset = $form->addFieldset('notification', array('legend' => $this->_helper()->__('Email Notification'))); $fieldset->addField('add_data_to_email', 'select', array('label' => $this->_helper()->__('Add Post Data to Notification Email'), 'name' => 'add_data_to_email', 'values' => Mage::getSingleton('adminhtml/system_config_source_yesno')->toOptionArray())); if (Mage::getSingleton('adminhtml/session')->getFormsData()) { $form->setValues(Mage::getSingleton('adminhtml/session')->getFormsData()); Mage::getSingleton('adminhtml/session')->setFormsData(null); } elseif (Mage::registry('forms_data')) { $form->setValues(Mage::registry('forms_data')->getData()); } return parent::_prepareForm(); }