1

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

Prestashop Multistore - 本地商店价格被默认商店的价格覆盖

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

有谁知道怎么解决??

4

1 回答 1

1

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

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

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

于 2021-03-30T17:07:02.470 回答