/**
  * Prepare attributes form
  *
  * @return null
  */
 protected function _prepareForm()
 {
     $group = $this->getGroup();
     if ($group) {
         $form = new Varien_Data_Form();
         // Initialize product object as form property to use it during elements generation
         $form->setDataObject(Mage::registry('product'));
         $fieldset = $form->addFieldset('group_fields' . $group->getId(), array('legend' => Mage::helper('catalog')->__($group->getAttributeGroupName()), 'class' => 'fieldset-wide'));
         $attributes = $this->getGroupAttributes();
         $this->_setFieldset($attributes, $fieldset, array('gallery'));
         $urlKey = $form->getElement('url_key');
         if ($urlKey) {
             $urlKey->setRenderer($this->getLayout()->createBlock('adminhtml/catalog_form_renderer_attribute_urlkey'));
         }
         $tierPrice = $form->getElement('tier_price');
         if ($tierPrice) {
             $tierPrice->setRenderer($this->getLayout()->createBlock('marketplace/adminhtml_catalog_product_edit_tab_price_tier'));
         }
         $groupPrice = $form->getElement('group_price');
         if ($groupPrice) {
             $groupPrice->setRenderer($this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_price_group'));
         }
         // $recurringProfile = $form->getElement('recurring_profile');
         // if ($recurringProfile) {
         //     $recurringProfile->setRenderer(
         //         $this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_price_recurring')
         //     );
         // }
         // Add new attribute button if it is not an image tab
         if (!$form->getElement('media_gallery') && Mage::getSingleton('admin/session')->isAllowed('catalog/attributes/attributes')) {
             $headerBar = $this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_attributes_create');
             $headerBar->getConfig()->setTabId('group_' . $group->getId())->setGroupId($group->getId())->setStoreId($form->getDataObject()->getStoreId())->setAttributeSetId($form->getDataObject()->getAttributeSetId())->setTypeId($form->getDataObject()->getTypeId())->setProductId($form->getDataObject()->getId());
             $fieldset->setHeaderBar($headerBar->toHtml());
         }
         if ($form->getElement('meta_description')) {
             $form->getElement('meta_description')->setOnkeyup('checkMaxLength(this, 255);');
         }
         $values = Mage::registry('product')->getData();
         // Set default attribute values for new product
         if (!Mage::registry('product')->getId()) {
             foreach ($attributes as $attribute) {
                 if (!isset($values[$attribute->getAttributeCode()])) {
                     $values[$attribute->getAttributeCode()] = $attribute->getDefaultValue();
                 }
             }
         }
         if (Mage::registry('product')->hasLockedAttributes()) {
             foreach (Mage::registry('product')->getLockedAttributes() as $attribute) {
                 $element = $form->getElement($attribute);
                 if ($element) {
                     $element->setReadonly(true, true);
                 }
             }
         }
         $form->addValues($values);
         $form->setFieldNameSuffix('product');
         Mage::dispatchEvent('adminhtml_catalog_product_edit_prepare_form', array('form' => $form));
         $this->setForm($form);
     }
 }
Example #2
0
 protected function _prepareForm()
 {
     if ($group = $this->getGroup()) {
         $form = new Varien_Data_Form();
         /**
          * Initialize product object as form property
          * for using it in elements generation
          */
         $form->setDataObject(Mage::registry('product'));
         $fieldset = $form->addFieldset('group_fields' . $group->getId(), array('legend' => Mage::helper('Mage_Catalog_Helper_Data')->__($group->getAttributeGroupName()), 'class' => 'fieldset-wide'));
         $attributes = $this->getGroupAttributes();
         $this->_setFieldset($attributes, $fieldset, array('gallery'));
         if ($urlKey = $form->getElement('url_key')) {
             $urlKey->setRenderer($this->getLayout()->createBlock('Mage_Adminhtml_Block_Catalog_Form_Renderer_Attribute_Urlkey'));
         }
         if ($tierPrice = $form->getElement('tier_price')) {
             $tierPrice->setRenderer($this->getLayout()->createBlock('Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Price_Tier'));
         }
         if ($recurringProfile = $form->getElement('recurring_profile')) {
             $recurringProfile->setRenderer($this->getLayout()->createBlock('Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Price_Recurring'));
         }
         /**
          * Add new attribute button if not image tab
          */
         if (!$form->getElement('media_gallery') && Mage::getSingleton('Mage_Admin_Model_Session')->isAllowed('catalog/attributes/attributes')) {
             $headerBar = $this->getLayout()->createBlock('Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes_Create');
             $headerBar->getConfig()->setTabId('group_' . $group->getId())->setGroupId($group->getId())->setStoreId($form->getDataObject()->getStoreId())->setAttributeSetId($form->getDataObject()->getAttributeSetId())->setTypeId($form->getDataObject()->getTypeId())->setProductId($form->getDataObject()->getId());
             $fieldset->setHeaderBar($headerBar->toHtml());
         }
         if ($form->getElement('meta_description')) {
             $form->getElement('meta_description')->setOnkeyup('checkMaxLength(this, 255);');
         }
         $values = Mage::registry('product')->getData();
         /**
          * Set attribute default values for new product
          */
         if (!Mage::registry('product')->getId()) {
             foreach ($attributes as $attribute) {
                 if (!isset($values[$attribute->getAttributeCode()])) {
                     $values[$attribute->getAttributeCode()] = $attribute->getDefaultValue();
                 }
             }
         }
         if (Mage::registry('product')->hasLockedAttributes()) {
             foreach (Mage::registry('product')->getLockedAttributes() as $attribute) {
                 if ($element = $form->getElement($attribute)) {
                     $element->setReadonly(true, true);
                 }
             }
         }
         $form->addValues($values);
         $form->setFieldNameSuffix('product');
         Mage::dispatchEvent('adminhtml_catalog_product_edit_prepare_form', array('form' => $form));
         $this->setForm($form);
     }
 }
 protected function _prepareForm()
 {
     if ($group = $this->getGroup()) {
         $form = new Varien_Data_Form();
         /**
          * Initialize product object as form property
          * for using it in elements generation
          */
         $form->setDataObject(Mage::registry('product'));
         $fieldset = $form->addFieldset('group_fields' . $group->getId(), array('legend' => Mage::helper('catalog')->__($group->getAttributeGroupName())));
         $attributes = $this->getGroupAttributes();
         $this->_setFieldset($attributes, $fieldset, array('gallery'));
         if ($tierPrice = $form->getElement('tier_price')) {
             $tierPrice->setRenderer($this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_price_tier'));
         }
         /**
          * Add new attribute button if not image tab
          */
         if (!$form->getElement('media_gallery') && Mage::getSingleton('admin/session')->isAllowed('catalog/attributes/attributes')) {
             $headerBar = $this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_attributes_create');
             $headerBar->getConfig()->setTabId('group_' . $group->getId())->setGroupId($group->getId())->setStoreId($form->getDataObject()->getStoreId())->setAttributeSetId($form->getDataObject()->getAttributeSetId())->setTypeId($form->getDataObject()->getTypeId())->setProductId($form->getDataObject()->getId());
             $fieldset->setHeaderBar($headerBar->toHtml());
         }
         if ($form->getElement('meta_description')) {
             $form->getElement('meta_description')->setOnkeyup('checkMaxLength(this, 255);');
         }
         $values = Mage::registry('product')->getData();
         /**
          * Set attribute default values for new product
          */
         if (!Mage::registry('product')->getId()) {
             foreach ($attributes as $attribute) {
                 if (!isset($values[$attribute->getAttributeCode()])) {
                     $values[$attribute->getAttributeCode()] = $attribute->getDefaultValue();
                 }
             }
         }
         Mage::dispatchEvent('adminhtml_catalog_product_edit_prepare_form', array('form' => $form));
         $form->addValues($values);
         $form->setFieldNameSuffix('product');
         $this->setForm($form);
     }
 }
 protected function _prepareForm()
 {
     $product = $this->getProduct();
     if (!($setId = $product->getAttributeSetId())) {
         $setId = $this->getRequest()->getParam('set', null);
     }
     if ($setId) {
         $attributeGroupId = Mage::getConfig()->getNode(Faett_Package_Helper_Data::FAETT_PACKAGE_LINK_GROUP_ID, 'default', 0);
         $group = Mage::getModel('eav/entity_attribute_group')->load($attributeGroupId);
         $attributes = $product->getAttributes($group->getId(), true);
         // do not add groups without attributes
         foreach ($attributes as $key => $attribute) {
             if (!$attribute->getIsVisible()) {
                 unset($attributes[$key]);
             }
         }
         // sort the attributes after their position
         usort($attributes, array($this, '_cmp'));
         if (count($attributes) == 0) {
             return;
         }
         $form = new Varien_Data_Form();
         // initialize product object as form property for using it in elements generation
         $form->setDataObject(Mage::registry('product'));
         $fieldset = $form->addFieldset('group_fields' . $group->getId(), array('legend' => Mage::helper('catalog')->__($group->getAttributeGroupName())));
         $this->_setFieldset($attributes, $fieldset, array('gallery'));
         if (!$form->getElement('media_gallery') && Mage::getSingleton('admin/session')->isAllowed('catalog/attributes/attributes')) {
             $headerBar = $this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_attributes_create');
             $headerBar->getConfig()->setTabId('group_' . $group->getId())->setGroupId($group->getId())->setStoreId($form->getDataObject()->getStoreId())->setAttributeSetId($form->getDataObject()->getAttributeSetId())->setTypeId($form->getDataObject()->getTypeId())->setProductId($form->getDataObject()->getId());
             $fieldset->setHeaderBar($headerBar->toHtml());
         }
         $values = Mage::registry('product')->getData();
         if (!Mage::registry('product')->getId()) {
             foreach ($attributes as $attribute) {
                 if (!isset($values[$attribute->getAttributeCode()])) {
                     $values[$attribute->getAttributeCode()] = $attribute->getDefaultValue();
                 }
             }
         }
         if (Mage::registry('product')->hasLockedAttributes()) {
             foreach (Mage::registry('product')->getLockedAttributes() as $attribute) {
                 if ($element = $form->getElement($attribute)) {
                     $element->setReadonly(true, true);
                 }
             }
         }
         $form->addValues($values);
         $form->setFieldNameSuffix('product');
         $this->setForm($form);
     }
     return parent::_prepareForm();
 }