/** * Adding category form elements for editing attribute * * @return Hackathon_CatalogAttributes_Block_Adminhtml_Catalog_Category_Attribute_Edit_Tab_Main */ protected function _prepareForm() { parent::_prepareForm(); $attributeObject = $this->getAttributeObject(); /* @var $form Varien_Data_Form */ $form = $this->getForm(); /* @var $fieldset Varien_Data_Form_Element_Fieldset */ $fieldset = $form->getElement('base_fieldset'); $frontendInputElm = $form->getElement('frontend_input'); $additionalTypes = array(array('value' => 'price', 'label' => Mage::helper('catalog')->__('Price')), array('value' => 'media_image', 'label' => Mage::helper('catalog')->__('Media Image'))); if ($attributeObject->getFrontendInput() == 'gallery') { $additionalTypes[] = array('value' => 'gallery', 'label' => Mage::helper('catalog')->__('Gallery')); } $response = new Varien_Object(); $response->setTypes(array()); Mage::dispatchEvent('adminhtml_category_attribute_types', array('response' => $response)); $_disabledTypes = array(); $_hiddenFields = array(); foreach ($response->getTypes() as $type) { $additionalTypes[] = $type; if (isset($type['hide_fields'])) { $_hiddenFields[$type['value']] = $type['hide_fields']; } if (isset($type['disabled_types'])) { $_disabledTypes[$type['value']] = $type['disabled_types']; } } Mage::register('attribute_type_hidden_fields', $_hiddenFields); Mage::register('attribute_type_disabled_types', $_disabledTypes); $frontendInputValues = array_merge($frontendInputElm->getValues(), $additionalTypes); $frontendInputElm->setValues($frontendInputValues); $yesnoSource = Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(); $scopes = array(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE => Mage::helper('catalog')->__('Store View'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE => Mage::helper('catalog')->__('Website'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL => Mage::helper('catalog')->__('Global')); if ($attributeObject->getAttributeCode() == 'status' || $attributeObject->getAttributeCode() == 'tax_class_id') { unset($scopes[Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE]); } $fieldset->addField('is_global', 'select', array('name' => 'is_global', 'label' => Mage::helper('catalog')->__('Scope'), 'title' => Mage::helper('catalog')->__('Scope'), 'note' => Mage::helper('catalog')->__('Declare attribute value saving scope'), 'values' => $scopes), 'attribute_code'); // frontend properties fieldset $fieldset = $form->addFieldset('front_fieldset', array('legend' => Mage::helper('catalog')->__('Frontend Properties'))); $fieldset->addField('is_wysiwyg_enabled', 'select', array('name' => 'is_wysiwyg_enabled', 'label' => Mage::helper('catalog')->__('Enable WYSIWYG'), 'title' => Mage::helper('catalog')->__('Enable WYSIWYG'), 'values' => $yesnoSource)); $htmlAllowed = $fieldset->addField('is_html_allowed_on_front', 'select', array('name' => 'is_html_allowed_on_front', 'label' => Mage::helper('catalog')->__('Allow HTML Tags on Frontend'), 'title' => Mage::helper('catalog')->__('Allow HTML Tags on Frontend'), 'values' => $yesnoSource)); if (!$attributeObject->getId() || $attributeObject->getIsWysiwygEnabled()) { $attributeObject->setIsHtmlAllowedOnFront(1); } // define field dependencies $this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence')->addFieldMap("is_wysiwyg_enabled", 'wysiwyg_enabled')->addFieldMap("is_html_allowed_on_front", 'html_allowed_on_front')->addFieldMap("frontend_input", 'frontend_input_type')->addFieldDependence('wysiwyg_enabled', 'frontend_input_type', 'textarea')->addFieldDependence('html_allowed_on_front', 'wysiwyg_enabled', '0')); Mage::dispatchEvent('adminhtml_catalog_category_attribute_edit_prepare_form', array('form' => $form, 'attribute' => $attributeObject)); return $this; }
/** * Adding product form elements for editing attribute * * @return Mage_Adminhtml_Block_Catalog_Product_Attribute_Edit_Tab_Main */ protected function _prepareForm() { parent::_prepareForm(); $attributeObject = $this->getAttributeObject(); /* @var $form Varien_Data_Form */ $form = $this->getForm(); /* @var $fieldset Varien_Data_Form_Element_Fieldset */ $fieldset = $form->getElement('base_fieldset'); $frontendInputElm = $form->getElement('frontend_input'); $additionalTypes = array(); $response = new Varien_Object(); $response->setTypes(array()); Mage::dispatchEvent('adminhtml_customer_attribute_types', array('response' => $response)); $_disabledTypes = array(); $_hiddenFields = array(); foreach ($response->getTypes() as $type) { $additionalTypes[] = $type; if (isset($type['hide_fields'])) { $_hiddenFields[$type['value']] = $type['hide_fields']; } if (isset($type['disabled_types'])) { $_disabledTypes[$type['value']] = $type['disabled_types']; } } Mage::register('attribute_type_hidden_fields', $_hiddenFields); Mage::register('attribute_type_disabled_types', $_disabledTypes); $frontendInputValues = array_merge($frontendInputElm->getValues(), $additionalTypes); foreach ($frontendInputValues as $key => $_frontendInput) { if ($_frontendInput["value"] == 'multiselect') { unset($frontendInputValues[$key]); } } $frontendInputElm->setValues($frontendInputValues); $frontendInputElm->setLabel(Mage::helper("profile")->__("Input Type for Store Owner")); $yesnoSource = Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(); $scopes = array(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE => Mage::helper('profile')->__('Store View'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE => Mage::helper('profile')->__('Website'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL => Mage::helper('profile')->__('Global')); if ($attributeObject->getAttributeCode() == 'status' || $attributeObject->getAttributeCode() == 'tax_class_id') { unset($scopes[Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE]); } $fieldset->addField('is_global', 'select', array('name' => 'is_global', 'label' => Mage::helper('profile')->__('Scope'), 'title' => Mage::helper('profile')->__('Scope'), 'note' => Mage::helper('profile')->__('Declare attribute value saving scope'), 'values' => $scopes), 'attribute_code'); $fieldset->addField('sort_order', 'text', array('name' => 'sort_order', 'label' => Mage::helper('profile')->__('Sort Order'), 'title' => Mage::helper('profile')->__('Sort Order'), 'note' => Mage::helper('profile')->__('This is the order according to which this field will display.'))); // frontend properties fieldset // define field dependencies $this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence')->addFieldMap("is_wysiwyg_enabled", 'wysiwyg_enabled')->addFieldMap("is_html_allowed_on_front", 'html_allowed_on_front')->addFieldMap("frontend_input", 'frontend_input_type')->addFieldDependence('wysiwyg_enabled', 'frontend_input_type', 'textarea')->addFieldDependence('html_allowed_on_front', 'wysiwyg_enabled', '0')); Mage::dispatchEvent('adminhtml_catalog_product_attribute_edit_prepare_form', array('form' => $form, 'attribute' => $attributeObject)); return $this; }
/** * Preparing form elements for editing Entity Type Attribute * * @return $this */ protected function _prepareForm() { parent::_prepareForm(); /** @var Goodahead_Etm_Model_Entity_Type $entityType */ $entityType = Mage::registry('etm_entity_type'); $attributeObject = $this->getAttributeObject(); /* @var $form Varien_Data_Form */ $form = $this->getForm(); /* @var $fieldset Varien_Data_Form_Element_Fieldset */ $fieldset = $form->getElement('base_fieldset'); $frontendInputElm = $form->getElement('frontend_input'); $additionalTypes = array(array('value' => 'price', 'label' => Mage::helper('catalog')->__('Price')), array('value' => 'image', 'label' => Mage::helper('catalog')->__('Media Image'))); if ($attributeObject->getFrontendInput() == 'gallery') { $additionalTypes[] = array('value' => 'gallery', 'label' => Mage::helper('catalog')->__('Gallery')); } $response = new Varien_Object(); $response->setTypes(array()); Mage::dispatchEvent('goodahead_etm_entity_attribute_types', array('response' => $response)); Mage::dispatchEvent(sprintf('goodahead_etm_%s_entity_attribute_types', $entityType->getEntityTypeCode()), array('response' => $response)); $_disabledTypes = array(); $_hiddenFields = array(); foreach ($response->getTypes() as $type) { $additionalTypes[] = $type; if (isset($type['hide_fields'])) { $_hiddenFields[$type['value']] = $type['hide_fields']; } if (isset($type['disabled_types'])) { $_disabledTypes[$type['value']] = $type['disabled_types']; } } Mage::register('attribute_type_hidden_fields', $_hiddenFields); Mage::register('attribute_type_disabled_types', $_disabledTypes); $frontendInputValues = array_merge($frontendInputElm->getValues(), $additionalTypes); $frontendInputElm->setValues($frontendInputValues); $scopes = array(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE => Mage::helper('catalog')->__('Store View'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE => Mage::helper('catalog')->__('Website'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL => Mage::helper('catalog')->__('Global')); $fieldset->addField('is_global', 'select', array('name' => 'is_global', 'label' => Mage::helper('catalog')->__('Scope'), 'title' => Mage::helper('catalog')->__('Scope'), 'note' => Mage::helper('catalog')->__('Declare attribute value saving scope'), 'values' => $scopes), 'attribute_code'); $fieldset->addField('sort_order', 'text', array('name' => 'sort_order', 'label' => Mage::helper('core')->__('Sort Order'), 'title' => Mage::helper('core')->__('Sort Order'))); Mage::dispatchEvent('goodahead_etm_entity_attribute_edit_prepare_form', array('form' => $form, 'attribute' => $attributeObject)); return $this; }
/** * Adding product form elements for editing attribute * * @access protected * @return Lionleap_Temples_Block_Adminhtml_Temple_Attribute_Edit_Tab_Main * @author Ultimate Module Creator */ protected function _prepareForm() { parent::_prepareForm(); $attributeObject = $this->getAttributeObject(); $form = $this->getForm(); $fieldset = $form->getElement('base_fieldset'); $frontendInputElm = $form->getElement('frontend_input'); $additionalTypes = array(array('value' => 'image', 'label' => Mage::helper('lionleap_temples')->__('Image')), array('value' => 'file', 'label' => Mage::helper('lionleap_temples')->__('File'))); $response = new Varien_Object(); $response->setTypes(array()); Mage::dispatchEvent('adminhtml_temple_attribute_types', array('response' => $response)); $_disabledTypes = array(); $_hiddenFields = array(); foreach ($response->getTypes() as $type) { $additionalTypes[] = $type; if (isset($type['hide_fields'])) { $_hiddenFields[$type['value']] = $type['hide_fields']; } if (isset($type['disabled_types'])) { $_disabledTypes[$type['value']] = $type['disabled_types']; } } Mage::register('attribute_type_hidden_fields', $_hiddenFields); Mage::register('attribute_type_disabled_types', $_disabledTypes); $frontendInputValues = array_merge($frontendInputElm->getValues(), $additionalTypes); $frontendInputElm->setValues($frontendInputValues); $yesnoSource = Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(); $scopes = array(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE => Mage::helper('lionleap_temples')->__('Store View'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE => Mage::helper('lionleap_temples')->__('Website'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL => Mage::helper('lionleap_temples')->__('Global')); $fieldset->addField('is_global', 'select', array('name' => 'is_global', 'label' => Mage::helper('lionleap_temples')->__('Scope'), 'title' => Mage::helper('lionleap_temples')->__('Scope'), 'note' => Mage::helper('lionleap_temples')->__('Declare attribute value saving scope'), 'values' => $scopes), 'attribute_code'); $fieldset->addField('position', 'text', array('name' => 'position', 'label' => Mage::helper('lionleap_temples')->__('Position'), 'title' => Mage::helper('lionleap_temples')->__('Position'), 'note' => Mage::helper('lionleap_temples')->__('Position in the admin form')), 'is_global'); $fieldset->addField('note', 'textarea', array('name' => 'note', 'label' => Mage::helper('lionleap_temples')->__('Note'), 'title' => Mage::helper('lionleap_temples')->__('Note'), 'note' => Mage::helper('lionleap_temples')->__('Text to appear below the input.')), 'position'); $fieldset->removeField('is_unique'); // frontend properties fieldset $fieldset = $form->addFieldset('front_fieldset', array('legend' => Mage::helper('lionleap_temples')->__('Frontend Properties'))); $fieldset->addField('is_wysiwyg_enabled', 'select', array('name' => 'is_wysiwyg_enabled', 'label' => Mage::helper('lionleap_temples')->__('Enable WYSIWYG'), 'title' => Mage::helper('lionleap_temples')->__('Enable WYSIWYG'), 'values' => $yesnoSource)); Mage::dispatchEvent('lionleap_temples_adminhtml_temple_attribute_edit_prepare_form', array('form' => $form, 'attribute' => $attributeObject)); return $this; }
/** * Adding product form elements for editing attribute * * @return Mage_Adminhtml_Block_Catalog_Product_Attribute_Edit_Tab_Main */ protected function _prepareForm() { parent::_prepareForm(); $attributeObject = $this->getAttributeObject(); /* @var $form Varien_Data_Form */ $form = $this->getForm(); /* @var $fieldset Varien_Data_Form_Element_Fieldset */ $fieldset = $form->getElement('base_fieldset'); $frontendInputElm = $form->getElement('frontend_input'); $additionalTypes = array(array('value' => 'price', 'label' => Mage::helper('catalog')->__('Price')), array('value' => 'media_image', 'label' => Mage::helper('catalog')->__('Media Image'))); if ($attributeObject->getFrontendInput() == 'gallery') { $additionalTypes[] = array('value' => 'gallery', 'label' => Mage::helper('catalog')->__('Gallery')); } $response = new Varien_Object(); $response->setTypes(array()); Mage::dispatchEvent('adminhtml_product_attribute_types', array('response' => $response)); $_disabledTypes = array(); $_hiddenFields = array(); foreach ($response->getTypes() as $type) { $additionalTypes[] = $type; if (isset($type['hide_fields'])) { $_hiddenFields[$type['value']] = $type['hide_fields']; } if (isset($type['disabled_types'])) { $_disabledTypes[$type['value']] = $type['disabled_types']; } } Mage::register('attribute_type_hidden_fields', $_hiddenFields); Mage::register('attribute_type_disabled_types', $_disabledTypes); $frontendInputValues = array_merge($frontendInputElm->getValues(), $additionalTypes); $frontendInputElm->setValues($frontendInputValues); $yesnoSource = Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(); $scopes = array(Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE => Mage::helper('catalog')->__('Store View'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE => Mage::helper('catalog')->__('Website'), Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL => Mage::helper('catalog')->__('Global')); if ($attributeObject->getAttributeCode() == 'status' || $attributeObject->getAttributeCode() == 'tax_class_id') { unset($scopes[Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE]); } $fieldset->addField('is_global', 'select', array('name' => 'is_global', 'label' => Mage::helper('catalog')->__('Scope'), 'title' => Mage::helper('catalog')->__('Scope'), 'note' => Mage::helper('catalog')->__('Declare attribute value saving scope'), 'values' => $scopes), 'attribute_code'); $fieldset->addField('apply_to', 'apply', array('name' => 'apply_to[]', 'label' => Mage::helper('catalog')->__('Apply To'), 'values' => Mage_Catalog_Model_Product_Type::getOptions(), 'mode_labels' => array('all' => Mage::helper('catalog')->__('All Product Types'), 'custom' => Mage::helper('catalog')->__('Selected Product Types')), 'required' => true), 'frontend_class'); $fieldset->addField('is_configurable', 'select', array('name' => 'is_configurable', 'label' => Mage::helper('catalog')->__('Use To Create Configurable Product'), 'values' => $yesnoSource), 'apply_to'); // frontend properties fieldset $fieldset = $form->addFieldset('front_fieldset', array('legend' => Mage::helper('catalog')->__('Frontend Properties'))); $fieldset->addField('is_searchable', 'select', array('name' => 'is_searchable', 'label' => Mage::helper('catalog')->__('Use in Quick Search'), 'title' => Mage::helper('catalog')->__('Use in Quick Search'), 'values' => $yesnoSource)); $fieldset->addField('is_visible_in_advanced_search', 'select', array('name' => 'is_visible_in_advanced_search', 'label' => Mage::helper('catalog')->__('Use in Advanced Search'), 'title' => Mage::helper('catalog')->__('Use in Advanced Search'), 'values' => $yesnoSource)); $fieldset->addField('is_comparable', 'select', array('name' => 'is_comparable', 'label' => Mage::helper('catalog')->__('Comparable on Front-end'), 'title' => Mage::helper('catalog')->__('Comparable on Front-end'), 'values' => $yesnoSource)); $fieldset->addField('is_filterable', 'select', array('name' => 'is_filterable', 'label' => Mage::helper('catalog')->__("Use In Layered Navigation"), 'title' => Mage::helper('catalog')->__('Can be used only with catalog input type Dropdown, Multiple Select and Price'), 'note' => Mage::helper('catalog')->__('Can be used only with catalog input type Dropdown, Multiple Select and Price'), 'values' => array(array('value' => '0', 'label' => Mage::helper('catalog')->__('No')), array('value' => '1', 'label' => Mage::helper('catalog')->__('Filterable (with results)')), array('value' => '2', 'label' => Mage::helper('catalog')->__('Filterable (no results)'))))); $fieldset->addField('is_filterable_in_search', 'select', array('name' => 'is_filterable_in_search', 'label' => Mage::helper('catalog')->__("Use In Search Results Layered Navigation"), 'title' => Mage::helper('catalog')->__('Can be used only with catalog input type Dropdown, Multiple Select and Price'), 'note' => Mage::helper('catalog')->__('Can be used only with catalog input type Dropdown, Multiple Select and Price'), 'values' => $yesnoSource)); $fieldset->addField('is_used_for_promo_rules', 'select', array('name' => 'is_used_for_promo_rules', 'label' => Mage::helper('catalog')->__('Use for Promo Rule Conditions'), 'title' => Mage::helper('catalog')->__('Use for Promo Rule Conditions'), 'values' => $yesnoSource)); $fieldset->addField('position', 'text', array('name' => 'position', 'label' => Mage::helper('catalog')->__('Position'), 'title' => Mage::helper('catalog')->__('Position in Layered Navigation'), 'note' => Mage::helper('catalog')->__('Position of attribute in layered navigation block'), 'class' => 'validate-digits')); $fieldset->addField('is_wysiwyg_enabled', 'select', array('name' => 'is_wysiwyg_enabled', 'label' => Mage::helper('catalog')->__('Enable WYSIWYG'), 'title' => Mage::helper('catalog')->__('Enable WYSIWYG'), 'values' => $yesnoSource)); $htmlAllowed = $fieldset->addField('is_html_allowed_on_front', 'select', array('name' => 'is_html_allowed_on_front', 'label' => Mage::helper('catalog')->__('Allow HTML Tags on Frontend'), 'title' => Mage::helper('catalog')->__('Allow HTML Tags on Frontend'), 'values' => $yesnoSource)); if (!$attributeObject->getId() || $attributeObject->getIsWysiwygEnabled()) { $attributeObject->setIsHtmlAllowedOnFront(1); } $fieldset->addField('is_visible_on_front', 'select', array('name' => 'is_visible_on_front', 'label' => Mage::helper('catalog')->__('Visible on Product View Page on Front-end'), 'title' => Mage::helper('catalog')->__('Visible on Product View Page on Front-end'), 'values' => $yesnoSource)); $fieldset->addField('used_in_product_listing', 'select', array('name' => 'used_in_product_listing', 'label' => Mage::helper('catalog')->__('Used in Product Listing'), 'title' => Mage::helper('catalog')->__('Used in Product Listing'), 'note' => Mage::helper('catalog')->__('Depends on design theme'), 'values' => $yesnoSource)); $fieldset->addField('used_for_sort_by', 'select', array('name' => 'used_for_sort_by', 'label' => Mage::helper('catalog')->__('Used for Sorting in Product Listing'), 'title' => Mage::helper('catalog')->__('Used for Sorting in Product Listing'), 'note' => Mage::helper('catalog')->__('Depends on design theme'), 'values' => $yesnoSource)); $form->getElement('apply_to')->setSize(5); if ($applyTo = $attributeObject->getApplyTo()) { $applyTo = is_array($applyTo) ? $applyTo : explode(',', $applyTo); $form->getElement('apply_to')->setValue($applyTo); } else { $form->getElement('apply_to')->addClass('no-display ignore-validate'); } // define field dependencies $this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence')->addFieldMap("is_wysiwyg_enabled", 'wysiwyg_enabled')->addFieldMap("is_html_allowed_on_front", 'html_allowed_on_front')->addFieldMap("frontend_input", 'frontend_input_type')->addFieldDependence('wysiwyg_enabled', 'frontend_input_type', 'textarea')->addFieldDependence('html_allowed_on_front', 'wysiwyg_enabled', '0')); Mage::dispatchEvent('adminhtml_catalog_product_attribute_edit_prepare_form', array('form' => $form, 'attribute' => $attributeObject)); return $this; }
/** * Adding customer form elements for edit form * * @return Enterprise_Rma_Block_Adminhtml_Rma_Item_Attribute_Edit_Tab_Main */ protected function _prepareForm() { parent::_prepareForm(); $attribute = $this->getAttributeObject(); $form = $this->getForm(); $fieldset = $form->getElement('base_fieldset'); /* @var $helper Enterprise_Rma_Helper_Eav */ $helper = Mage::helper('enterprise_rma/eav'); $fieldset->removeField('frontend_class'); $fieldset->removeField('is_unique'); // update Input Types $element = $form->getElement('frontend_input'); $element->setValues($helper->getFrontendInputOptions()); $element->setLabel(Mage::helper('enterprise_rma')->__('Input Type')); $element->setRequired(true); // add limitation to attribute code // customer attribute code can have prefix "rma_item_" and its length must be max length minus prefix length $element = $form->getElement('attribute_code'); $element->setNote(Mage::helper('eav')->__('For internal use. Must be unique with no spaces. Maximum length of attribute code must be less then %s symbols', Mage_Eav_Model_Entity_Attribute::ATTRIBUTE_CODE_MAX_LENGTH)); $fieldset->addField('multiline_count', 'text', array('name' => 'multiline_count', 'label' => Mage::helper('enterprise_rma')->__('Lines Count'), 'title' => Mage::helper('enterprise_rma')->__('Lines Count'), 'required' => true, 'class' => 'validate-digits-range digits-range-2-20', 'note' => Mage::helper('enterprise_rma')->__('Valid range 2-20')), 'frontend_input'); $fieldset->addField('input_validation', 'select', array('name' => 'input_validation', 'label' => Mage::helper('enterprise_rma')->__('Input Validation'), 'title' => Mage::helper('enterprise_rma')->__('Input Validation'), 'values' => array('' => Mage::helper('enterprise_rma')->__('None'))), 'default_value_textarea'); $fieldset->addField('min_text_length', 'text', array('name' => 'min_text_length', 'label' => Mage::helper('enterprise_rma')->__('Minimum Text Length'), 'title' => Mage::helper('enterprise_rma')->__('Minimum Text Length'), 'class' => 'validate-digits'), 'input_validation'); $fieldset->addField('max_text_length', 'text', array('name' => 'max_text_length', 'label' => Mage::helper('enterprise_rma')->__('Maximum Text Length'), 'title' => Mage::helper('enterprise_rma')->__('Maximum Text Length'), 'class' => 'validate-digits'), 'min_text_length'); $fieldset->addField('max_file_size', 'text', array('name' => 'max_file_size', 'label' => Mage::helper('enterprise_rma')->__('Maximum File Size (bytes)'), 'title' => Mage::helper('enterprise_rma')->__('Maximum File Size (bytes)'), 'class' => 'validate-digits'), 'max_text_length'); $fieldset->addField('file_extensions', 'text', array('name' => 'file_extensions', 'label' => Mage::helper('enterprise_rma')->__('File Extensions'), 'title' => Mage::helper('enterprise_rma')->__('File Extensions'), 'note' => Mage::helper('enterprise_rma')->__('Comma separated')), 'max_file_size'); $fieldset->addField('max_image_width', 'text', array('name' => 'max_image_width', 'label' => Mage::helper('enterprise_rma')->__('Maximum Image Width (px)'), 'title' => Mage::helper('enterprise_rma')->__('Maximum Image Width (px)'), 'class' => 'validate-digits'), 'file_extensions'); $fieldset->addField('max_image_heght', 'text', array('name' => 'max_image_heght', 'label' => Mage::helper('enterprise_rma')->__('Maximum Image Height (px)'), 'title' => Mage::helper('enterprise_rma')->__('Maximum Image Height (px)'), 'class' => 'validate-digits'), 'max_image_width'); $fieldset->addField('input_filter', 'select', array('name' => 'input_filter', 'label' => Mage::helper('enterprise_rma')->__('Input/Output Filter'), 'title' => Mage::helper('enterprise_rma')->__('Input/Output Filter'), 'values' => array('' => Mage::helper('enterprise_rma')->__('None')))); $yesnoSource = Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(); $fieldset = $form->addFieldset('front_fieldset', array('legend' => Mage::helper('enterprise_rma')->__('Frontend Properties'))); $fieldset->addField('is_visible', 'select', array('name' => 'is_visible', 'label' => Mage::helper('enterprise_rma')->__('Show on Frontend'), 'title' => Mage::helper('enterprise_rma')->__('Show on Frontend'), 'values' => $yesnoSource)); $fieldset->addField('sort_order', 'text', array('name' => 'sort_order', 'label' => Mage::helper('enterprise_rma')->__('Sort Order'), 'title' => Mage::helper('enterprise_rma')->__('Sort Order'), 'required' => true, 'class' => 'validate-digits')); $fieldset->addField('used_in_forms', 'multiselect', array('name' => 'used_in_forms', 'label' => Mage::helper('enterprise_rma')->__('Forms to Use In'), 'title' => Mage::helper('enterprise_rma')->__('Forms to Use In'), 'values' => $helper->getAttributeFormOptions(), 'value' => $attribute->getUsedInForms(), 'can_be_empty' => true))->setSize(5); if ($attribute->getId()) { $elements = array(); if ($attribute->getIsSystem()) { $elements = array('sort_order', 'is_visible', 'is_required'); } if (!$attribute->getIsUserDefined() && !$attribute->getIsSystem()) { $elements = array('sort_order'); } foreach ($elements as $elementId) { $form->getElement($elementId)->setDisabled(true); } $inputTypeProp = $helper->getAttributeInputTypes($attribute->getFrontendInput()); // input_filter if ($inputTypeProp['filter_types']) { $filterTypes = $helper->getAttributeFilterTypes(); $values = $form->getElement('input_filter')->getValues(); foreach ($inputTypeProp['filter_types'] as $filterTypeCode) { $values[$filterTypeCode] = $filterTypes[$filterTypeCode]; } $form->getElement('input_filter')->setValues($values); } // input_validation getAttributeValidateFilters if ($inputTypeProp['validate_filters']) { $filterTypes = $helper->getAttributeValidateFilters(); $values = $form->getElement('input_validation')->getValues(); foreach ($inputTypeProp['validate_filters'] as $filterTypeCode) { $values[$filterTypeCode] = $filterTypes[$filterTypeCode]; } $form->getElement('input_validation')->setValues($values); } } // apply scopes foreach ($helper->getAttributeElementScopes() as $elementId => $scope) { $element = $form->getElement($elementId); if ($element) { $element->setScope($scope); if ($this->getAttributeObject()->getWebsite()->getId()) { $element->setName('scope_' . $element->getName()); } } } $this->getForm()->setDataObject($this->getAttributeObject()); return $this; }
/** * Adding customer address attribute form elements for edit form * * @return Enterprise_Customer_Block_Adminhtml_Customer_Address_Attribute_Edit_Tab_General */ protected function _prepareForm() { parent::_prepareForm(); $attribute = $this->getAttributeObject(); $form = $this->getForm(); $fieldset = $form->getElement('base_fieldset'); /* @var $helper Enterprise_Customer_Helper_Data */ $helper = Mage::helper('enterprise_customer'); $fieldset->removeField('frontend_class'); $fieldset->removeField('is_unique'); // update Input Types $values = $helper->getFrontendInputOptions(); $element = $form->getElement('frontend_input'); $element->setValues($values); $element->setLabel(Mage::helper('enterprise_customer')->__('Input Type')); $element->setRequired(true); $fieldset->addField('multiline_count', 'text', array('name' => 'multiline_count', 'label' => Mage::helper('enterprise_customer')->__('Lines Count'), 'title' => Mage::helper('enterprise_customer')->__('Lines Count'), 'required' => true, 'class' => 'validate-digits-range digits-range-2-20', 'note' => Mage::helper('enterprise_customer')->__('Valid range 2-20')), 'frontend_input'); $fieldset->addField('input_validation', 'select', array('name' => 'input_validation', 'label' => Mage::helper('enterprise_customer')->__('Input Validation'), 'title' => Mage::helper('enterprise_customer')->__('Input Validation'), 'values' => array('' => Mage::helper('enterprise_customer')->__('None'))), 'default_value_textarea'); $fieldset->addField('min_text_length', 'text', array('name' => 'min_text_length', 'label' => Mage::helper('enterprise_customer')->__('Minimum Text Length'), 'title' => Mage::helper('enterprise_customer')->__('Minimum Text Length'), 'class' => 'validate-digits'), 'input_validation'); $fieldset->addField('max_text_length', 'text', array('name' => 'max_text_length', 'label' => Mage::helper('enterprise_customer')->__('Maximum Text Length'), 'title' => Mage::helper('enterprise_customer')->__('Maximum Text Length'), 'class' => 'validate-digits'), 'min_text_length'); $fieldset->addField('max_file_size', 'text', array('name' => 'max_file_size', 'label' => Mage::helper('enterprise_customer')->__('Maximum File Size (bytes)'), 'title' => Mage::helper('enterprise_customer')->__('Maximum File Size (bytes)'), 'class' => 'validate-digits'), 'max_text_length'); $fieldset->addField('file_extensions', 'text', array('name' => 'file_extensions', 'label' => Mage::helper('enterprise_customer')->__('File Extensions'), 'title' => Mage::helper('enterprise_customer')->__('File Extensions'), 'note' => Mage::helper('enterprise_customer')->__('Comma separated')), 'max_file_size'); $fieldset->addField('max_image_width', 'text', array('name' => 'max_image_width', 'label' => Mage::helper('enterprise_customer')->__('Maximum Image Width (px)'), 'title' => Mage::helper('enterprise_customer')->__('Maximum Image Width (px)'), 'class' => 'validate-digits'), 'max_file_size'); $fieldset->addField('max_image_heght', 'text', array('name' => 'max_image_heght', 'label' => Mage::helper('enterprise_customer')->__('Maximum Image Height (px)'), 'title' => Mage::helper('enterprise_customer')->__('Maximum Image Height (px)'), 'class' => 'validate-digits'), 'max_image_width'); $fieldset->addField('input_filter', 'select', array('name' => 'input_filter', 'label' => Mage::helper('enterprise_customer')->__('Input/Output Filter'), 'title' => Mage::helper('enterprise_customer')->__('Input/Output Filter'), 'values' => array('' => Mage::helper('enterprise_customer')->__('None')))); $fieldset->addField('date_range_min', 'date', array('name' => 'date_range_min', 'label' => Mage::helper('enterprise_customer')->__('Minimal value'), 'title' => Mage::helper('enterprise_customer')->__('Minimal value'), 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'format' => $helper->getDateFormat()), 'default_value_date'); $fieldset->addField('date_range_max', 'date', array('name' => 'date_range_max', 'label' => Mage::helper('enterprise_customer')->__('Maximum value'), 'title' => Mage::helper('enterprise_customer')->__('Maximum value'), 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'format' => $helper->getDateFormat()), 'date_range_min'); $yesnoSource = Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(); $fieldset = $form->addFieldset('front_fieldset', array('legend' => Mage::helper('enterprise_customer')->__('Frontend Properties'))); $fieldset->addField('is_visible', 'select', array('name' => 'is_visible', 'label' => Mage::helper('enterprise_customer')->__('Show on Frontend'), 'title' => Mage::helper('enterprise_customer')->__('Show on Frontend'), 'values' => $yesnoSource)); $fieldset->addField('sort_order', 'text', array('name' => 'sort_order', 'label' => Mage::helper('enterprise_customer')->__('Sort Order'), 'title' => Mage::helper('enterprise_customer')->__('Sort Order'), 'required' => true, 'class' => 'validate-digits')); $fieldset->addField('used_in_forms', 'multiselect', array('name' => 'used_in_forms', 'label' => Mage::helper('enterprise_customer')->__('Forms to Use In'), 'title' => Mage::helper('enterprise_customer')->__('Forms to Use In'), 'values' => $helper->getCustomerAddressAttributeFormOptions(), 'value' => $attribute->getUsedInForms(), 'can_be_empty' => true))->setSize(5); if ($attribute->getId()) { $elements = array(); if ($attribute->getIsSystem()) { $elements = array('sort_order', 'is_visible', 'is_required', 'used_in_forms'); } if (!$attribute->getIsUserDefined() && !$attribute->getIsSystem()) { $elements = array('sort_order', 'used_in_forms'); } foreach ($elements as $elementId) { $form->getElement($elementId)->setDisabled(true); } $inputTypeProp = $helper->getAttributeInputTypes($attribute->getFrontendInput()); // input_filter if ($inputTypeProp['filter_types']) { $filterTypes = $helper->getAttributeFilterTypes(); $values = $form->getElement('input_filter')->getValues(); foreach ($inputTypeProp['filter_types'] as $filterTypeCode) { $values[$filterTypeCode] = $filterTypes[$filterTypeCode]; } $form->getElement('input_filter')->setValues($values); } // input_validation getAttributeValidateFilters if ($inputTypeProp['validate_filters']) { $filterTypes = $helper->getAttributeValidateFilters(); $values = $form->getElement('input_validation')->getValues(); foreach ($inputTypeProp['validate_filters'] as $filterTypeCode) { $values[$filterTypeCode] = $filterTypes[$filterTypeCode]; } $form->getElement('input_validation')->setValues($values); } } // apply scopes foreach ($helper->getAttributeElementScopes() as $elementId => $scope) { $element = $form->getElement($elementId); if ($element->getDisabled()) { continue; } $element->setScope($scope); if ($this->getAttributeObject()->getWebsite()->getId()) { $element->setName('scope_' . $element->getName()); } } $this->getForm()->setDataObject($this->getAttributeObject()); Mage::dispatchEvent('enterprise_customer_address_attribute_edit_tab_general_prepare_form', array('form' => $form, 'attribute' => $attribute)); return $this; }