我的项目有一些自定义属性。
属性1:在主页侧边栏中使用(是/否)
如果是,则显示以下属性。
属性2:浏览图片
我想根据 attribute1 添加 attribute2 。仅当启用在主页边栏中使用时,我的新属性才会显示在当前的下方。即,它将是一个依赖属性。有人知道在Magento中添加依赖属性的脚本吗?
之前我通过
添加了自定义属性$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'use_home_page_side_bar', array(
'group' => 'General',
'input' => 'select',
'type' => 'int',
'label' => 'Use in Home Page Sidebar',
'backend' => '',
'source' => 'eav/entity_attribute_source_boolean',
'visible' => true,
'required' => false,
'visible_on_front' => true,
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));
$this->endSetup();
与此脚本一样,是否有用于添加依赖属性的脚本?
答案 0 :(得分:0)
如果您正在处理管理表单,则存在一个类,用于在字段值更改时自动隐藏元素。
下面是示例,它显示了字段依赖性。
$form = new Varien_Data_Form();
$form->addField('yesno', 'select', array(
'label' => $this->__('Yes or No?'),
'values' => Mage::model('adminhtml/system_config_source_yesnocustom')
->toOptionArray(),
));
$form->addField('custom_value', text, array(
'label' => $this->__('Other'),
));
// Append dependency javascript
$this->setChild('form_after', $this->getLayout()
->createBlock('adminhtml/widget_form_element_dependence')
->addFieldMap('yesno', 'yesno')
->addFieldMap('custom_value', 'custom_value')
->addFieldDependence('custom_value', 'yesno', 2) // 2 = 'Specified'
);
您需要将每个字段名称映射到 ID 元素。您可以根据需要以这种方式添加任意数量的字段映射和字段依赖项。
答案 1 :(得分:0)
我通过为属性添加新的输入渲染器来创建简单的类别属性依赖关系。它是这样工作的: 您有几个属性:
– my_attribute
– my_attribute_text
– my_attribute_select
请注意,它们都是从 my_attribute 开始的。
第一个属性具有布尔类型。如果设置为true,则显示从 my_attribute 开始的其他属性。
来源 - https://github.com/elpas0/category_dependence
说明 - http://nwdthemes.com/2015/02/20/magento-category-attributes-dependency/