Пример #1
0
 protected function _prepareForm()
 {
     parent::_prepareForm();
     $hidde_elements = array();
     if ($category = $this->getCategory()) {
         if ($category->getLevel() != 3) {
             $hidde_elements[] = 'navigation_column';
         }
         if ($category->getLevel() == 2) {
             $hidde_elements[] = 'navigation_column_side';
         }
         if ($category->getLevel() != 2) {
             $hidde_elements = array_merge($hidde_elements, array('navigation_pw_width', 'navigation_image', 'navigation_image_position', 'navigation_image_width', 'navigation_image_height'));
         }
         if ($category->getLevel() > 3 || !$category->getLevel()) {
             $hidde_elements[] = 'navigation_label_menubar';
         }
     }
     foreach ($hidde_elements as $value) {
         if ($element = $this->getForm()->getElement($value)) {
             $element->setDisabled(true);
             $element->setStyle('display:none;');
             $element->setType('hidden');
         }
     }
 }
 /**
  * Set Fieldset to Form
  *
  * @param array $attributes attributes that are to be added
  * @param Varien_Data_Form_Element_Fieldset $fieldset
  * @param array $exclude attributes that should be skipped
  */
 protected function _setFieldset($attributes, $fieldset, $exclude = array())
 {
     parent::_setFieldset($attributes, $fieldset, $exclude);
     if (!Mage::getStoreConfig('admin/sucategories/enable')) {
         return;
     }
     $elements = $fieldset->getSortedElements();
     $role = Mage::getSingleton('aitpermissions/role');
     $catId = Mage::app()->getRequest()->getParam('id');
     if (isset($catId)) {
         if ($role->isPermissionsEnabled()) {
             if (Mage::getModel('aitpermissions/approvecategory')->isCategoryApproved($catId)) {
                 //do nothing
             } else {
                 foreach ($elements as $elem) {
                     if ($elem->getName() === 'is_active') {
                         $newValues = $this->getAitAllOptions();
                         $elem->setValues($newValues);
                     }
                 }
             }
         } else {
             if (Mage::getModel('aitpermissions/approvecategory')->isCategoryApproved($catId)) {
                 //do nothing
             } else {
                 foreach ($elements as $elem) {
                     if ($elem->getName() === 'is_active') {
                         $oldValues = $elem->getValues();
                         $newValues = $this->getAitAllOptionsEmpty();
                         $values = array_merge($oldValues, $newValues);
                         $elem->setValues($values);
                     }
                 }
             }
         }
     } else {
         if ($role->isPermissionsEnabled()) {
             foreach ($elements as $elem) {
                 if ($elem->getName() === 'is_active') {
                     $newValues = $this->getAitAllOptions();
                     $elem->setValues($newValues);
                 }
             }
         } else {
             //do nothing
         }
     }
 }
Пример #3
0
 protected function _prepareForm()
 {
     $group = $this->getGroup();
     if ($group->getAttributeGroupName() == 'Advanced Navigation') {
         $form = new Varien_Data_Form();
         $form->setHtmlIdPrefix('group_' . $group->getId());
         $form->setDataObject($this->getCategory());
         $attributes_lr = $this->left_right_column;
         $attributes_pw_gn = array();
         $attributes_pw_s = array();
         $attributes_pw_m = array();
         $attributes_pw_fl = array();
         $attributes_pw_sl = array();
         $attributes_pw_ob = array();
         if ($category = $this->getCategory()) {
             $level = intval($category->getLevel());
             switch ($level) {
                 case 1:
                     $attributes_pw_m[] = 'navigation_pw_m_bsize';
                     break;
                 case 2:
                     $attributes_pw_gn = $this->content_filters_settings;
                     $attributes_pw_s = $this->plain_window_settings;
                     $attributes_pw_s = array_diff($attributes_pw_s, array('navigation_pw_s_column', 'navigation_pw_s_img'));
                     $attributes_pw_m = $this->menu_bar_settings;
                     $attributes_pw_fl = $this->first_level_subcategory;
                     $attributes_pw_sl = $this->second_level_subcategory;
                     $attributes_pw_ob = $this->offer_block_settings;
                     break;
                 case 3:
                     //first_level_subcategory
                     $attributes_pw_gn = $this->content_filters_settings;
                     $attributes_pw_s[] = 'navigation_pw_s_column';
                     $attributes_pw_s[] = 'navigation_pw_s_img';
                     break;
                 case 4:
                     //second_level_subcategory
                     $attributes_pw_gn = $this->content_filters_settings;
                     $attributes_pw_s[] = 'navigation_pw_s_img';
                     break;
             }
         }
         if (count($attributes_pw_gn)) {
             $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_pw_gn', array('legend' => Mage::helper('gomage_navigation')->__('Stock Settings'), 'class' => 'fieldset-wide'));
             $attributes = $this->getNeededAttributes($attributes_pw_gn);
             $this->_setFieldset($attributes, $fieldset);
         }
         if (count($attributes_pw_s)) {
             $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_pw_s', array('legend' => Mage::helper('gomage_navigation')->__('Plain Window Settings'), 'class' => 'fieldset-wide'));
             $attributes = $this->getNeededAttributes($attributes_pw_s);
             $this->_setFieldset($attributes, $fieldset);
         }
         if (count($attributes_pw_m)) {
             $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_pw_m', array('legend' => Mage::helper('gomage_navigation')->__('Menu Bar Settings'), 'class' => 'fieldset-wide'));
             $attributes = $this->getNeededAttributes($attributes_pw_m);
             $this->_setFieldset($attributes, $fieldset);
         }
         if (count($attributes_pw_fl)) {
             $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_pw_fl', array('legend' => Mage::helper('gomage_navigation')->__('First Level Subcategory Settings'), 'class' => 'fieldset-wide'));
             $attributes = $this->getNeededAttributes($attributes_pw_fl);
             $this->_setFieldset($attributes, $fieldset);
         }
         if (count($attributes_pw_sl)) {
             $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_pw_sl', array('legend' => Mage::helper('gomage_navigation')->__('Second Level Subcategory Settings'), 'class' => 'fieldset-wide'));
             $attributes = $this->getNeededAttributes($attributes_pw_sl);
             $this->_setFieldset($attributes, $fieldset);
         }
         if (count($attributes_pw_ob)) {
             $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_pw_ob', array('legend' => Mage::helper('gomage_navigation')->__('Offer Block Settings'), 'class' => 'fieldset-wide'));
             $attributes = $this->getNeededAttributes($attributes_pw_ob);
             $this->_setFieldset($attributes, $fieldset);
         }
         $fieldset = $form->addFieldset('fieldset_group_' . $group->getId() . '_lr', array('legend' => Mage::helper('gomage_navigation')->__('Left / Right Column Navigation'), 'class' => 'fieldset-wide'));
         $attributes = $this->getNeededAttributes($attributes_lr);
         $this->_setFieldset($attributes, $fieldset);
         $form->addValues($this->getCategory()->getData());
         Mage::dispatchEvent('adminhtml_catalog_category_edit_prepare_form', array('form' => $form));
         $form->setFieldNameSuffix('general');
         $this->setForm($form);
         return $this;
     } else {
         return parent::_prepareForm();
     }
 }