Magento自定义依赖类别属性

时间:2014-05-13 04:39:07

标签: php magento

我的项目有一些自定义属性。

属性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();

与此脚本一样,是否有用于添加依赖属性的脚本?

2 个答案:

答案 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/