我想以编程方式创建一个产品属性下拉列表,其中显示了产品所分配的所有类别。有了这个,我想定义一个可以在产品'规范'标签网址中使用的默认类别。
为此,我开始创建一个源模型,在这个源模型中,我想访问该产品以动态创建下拉选项。
这可能吗?如果是这样,我应该怎么做呢?或者我找错了地方?
答案 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;
}