在Magento中的安装脚本中创建依赖属性

时间:2014-01-23 11:21:54

标签: magento

在Magento的管理区域,我正在尝试创建一个依赖字段。依赖字段是仅可用/启用的字段,具体取决于值,例如,带有“是”或“否”值的下拉列表。从this blog post可以看出,这是Magento的内置功能。

然而,上面的博客文章(以及我发现的其他文章)假设这些字段已添加到system.xml或使用下面概述的方法Vikram,但我想在定义时在我的模块安装脚本中添加依赖项我的属性,例如:

$installer->addAttribute(
    'catalog_category', 
    'show_dependant', 
    array(
        'label' => 'Show dependant?',
        'group' => 'My Group',
        'type' => 'int',
        'input' => 'select',
        'source'  => 'eav/entity_attribute_source_boolean',
        'required' => false,
        'visible' => true,
        'default' => '0',
        'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    )
);


$installer->addAttribute(
    'catalog_category',
    'my_attribute_name',
    array(
        'label' => 'A New Attribute',
        'group' => 'My Group',   //will be created if necessary
        'type'  => 'int',
        'class' => 'validate-number',
        'required' => false,

        // Would be something like this maybe?
        'depends' => array('show_dependant', 1)

    )
);

任何人都知道这是否可能?

2 个答案:

答案 0 :(得分:1)

如果您使用的是 MAGENTO ADMIN FORMS ,请考虑此示例,仅在选择“指定”选项时显示文本字段。此方法使用admin表单而不是system.xml方法。

$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'
);

您可以根据需要以这种方式添加任意数量的字段映射和字段依赖项。

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