Prestashop Multistore - 默认商店覆盖的本地产品属性成本

Prestashop Multistore - local product attributes cost overwritten by default shop

我的问题与已解决的问题有关,即在“所有商店”上下文中保存产品使所有商店的价格都相同,无论货币如何。因此,如果产品在波兰的成本为 100 波兰兹罗提,那么在德国为 100 欧元,在英国为 100 英镑。 Link 到这个主题:

无论如何,所提供的解决方案并未涵盖产品组合额外成本的相同问题。所以我想在“所有商店”上下文中保存产品时忽略这些字段。

有谁知道怎么解决的吗??

我通过编辑 overriden Product.php(来自 /classes/Product.php)实现了它 - 功能 updateAttribute(大约 1800+ 行)。我把它的主体,除了 return,放到一个 if 语句中:

public function updateAttribute(...) {
    if (Shop::getContext() == Shop::CONTEXT_SHOP){
        // function body here
    }
    return true;
}

现在,在“所有商店”中保存带有组合的产品时,它不会更新产品属性(附加价格、库存等)- 这些只能保存在 specific/selected 商店的上下文中。