在“动态”产品属性

时间:2016-05-11 21:07:47

标签: magento models

我想以编程方式创建一个产品属性下拉列表,其中显示了产品所分配的所有类别。有了这个,我想定义一个可以在产品'规范'标签网址中使用的默认类别。

为此,我开始创建一个源模型,在这个源模型中,我想访问该产品以动态创建下拉选项。

这可能吗?如果是这样,我应该怎么做呢?或者我找错了地方?

1 个答案:

答案 0 :(得分:0)

我找到了答案,感谢我的一位同事:

要创建列出产品所有类别的产品属性,我可以通过Mage::registry('current_product)从Magento注册表加载产品。这导致getAllOptions()方法中的以下内容:

public function getAllOptions()
{
    $categoryIds = Mage::registry('current_product')->getCategoryIds();

    $this->result[] = array(
        'value' => '-1',
        'label' => 'None'
    );

    foreach ($categoryIds as $categoryId) {
        $this->result[] = array(
            'label' => Mage::getModel('catalog/category')->load($categoryId)->getName(),
            'value' => $categoryId
        );
    }
    return $this->result;
}