Magento以编程方式创建属性选项 - 转义

时间:2015-03-10 11:16:44

标签: magento attributes options

我正在使用脚本以编程方式创建属性选项 - 代码如下:

        echo "Creating option ....\n";
        $attr_model = Mage::getModel('catalog/resource_eav_attribute');
        $attr = $attr_model->loadByCode('catalog_product', $key);
        $attr_id = $attr->getAttributeId();
        if (!$attr_id){
                echo "Cannot find Attribute $code\n";
                return 0;
        }else{
            $option['attribute_id'] = $attr_id;
            $option['value'][$value][0] = $value;
            $option['value'][$value][1] = $value;

            $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
            $setup->addAttributeOption($option);


        }

对于大多数价值观而言,它的工作非常好。

但是没有创建某些值 - 它不会抛出任何错误,但它不会创建选项。

一个例子是55毫克/千克,这让我怀疑这是一个逃避问题。

我是否需要遵循特定的逃避规则?

谢谢!

1 个答案:

答案 0 :(得分:0)

进一步深入研究,我发现如果你在$ option ['value']数组中使用的数组键以数字开头,Magento会以不同的方式将其视为addAttributeOption()调用的一部分(强制转换)它作为(int),然后假设您正在编辑现有属性选项)

确保数组键不以数字开头(我通过预先挂起'选择'键到键)来解决问题。