如何在Magento 2中获取可配置产品的value_index

时间:2019-02-03 06:26:44

标签: magento2

我一直在遵循Magento 2教程来创建可配置产品。我遇到了一个问题,文档似乎跳过了这个问题。

“分配给value_index的值在系统内必须是唯一的。”

{
    "option": {
        "attribute_id": "141",
        "label": "Size",
        "position": 0,
        "is_use_default": true,
        "values": [{
            "value_index": 9
        }]
    }
}

尽管本教程的其余部分提供了易于遵循的过程,但Im完全为如何获取value_index值感到困惑。

我尝试完全删除密钥,但会引发错误,我还尝试输入随机数以及新创建的子项的ID,但没有运气。

在创建所需记录时,是否有人对如何获取该区域的下一个索引值有任何建议?

教程链接:https://devdocs.magento.com/guides/v2.3/rest/tutorials/configurable-product/define-config-product-options.html

P.S。我也在Magento论坛上对此进行了谷歌搜索,找不到关于该主题的明确答案,因此,任何建议都将不胜感激

1 个答案:

答案 0 :(得分:0)

几天前我遇到了同样的问题,经过数天的搜索后,我做了一个简单的计数器,从一个较大的数字开始(我的解决方案中为99999),并且为每种产品配置生成了一个新的唯一数字。这不是一个干净的解决方案,但似乎可以正常工作。

如果您发现更好的东西,请告诉我

function GetNextConfigurableAttId(){
    $sessionKey = "configurableattributeid";
    $id = 99999;
    if(isset($_SESSION[$sessionKey])){
        $id = $_SESSION[$sessionKey];
    }
    $id++;
    $_SESSION[$sessionKey] = $id++;
    return $id;
}