【问题标题】:Magento: updating a multiselect attribute using the attribute codeMagento:使用属性代码更新多选属性
【发布时间】:2015-02-16 07:36:46
【问题描述】:

正如标题所说,我只需要使用属性代码更新属性的值。我知道我通常可以使用:

$product->setAtt_code();

这将使用 attr_code 的代码更新属性。但是,这似乎不适用于多选属性。

感谢您的帮助。

谢谢

【问题讨论】:

    标签: magento magento-1.8


    【解决方案1】:

    您必须使用值 id 设置数组

    $product->setData('attr_code', [1, 2, 3]);
    

    例如,

    $attrCode = 'color';
    $sourceModel = Mage::getModel('catalog/product')->getResource()->getAttribute($attrCode)->getSource();
    $valueId = $sourceModel->getOptionId('red');
    $product->setData($attrCode, [$valueId]);
    

    【讨论】:

    • 感谢 $DmitryKovalev 这是正确的答案并解决了我的问题。它只适用于多选吗?我尝试了选择类型,但没有用。所以现在我检查属性的前端类型,只在多选属性上应用代码。
    • 对于选择类型:$product->setData($attrCode, $valueId);
    • 如果它解决了您的问题,则应将其标记为答案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 2016-03-29
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多