新创建的产品的插入量

时间:2016-12-14 15:41:51

标签: php model-view-controller prestashop prestashop-1.6

我在prestashop上创建了一个产品,我用这个函数输入了数量:

echo "1";
StockAvailable::setQuantity($id_prod, 0, $quantity,1);
echo "2";

结果是:

1fatal error

进入后端,产品和数量设置正确。 我怎样才能避免“致命错误”? 这里报告错误:第2582行中的classes / Product.php:if(!$ id_cart&&!isset($ context-> employee))die(Tools :: displayError());

此代码位于“getPriceStatic”函数中。拉动执行“StockAvailable :: setQuantity”是正常的吗?

我没有更改类,我没有覆盖

1 个答案:

答案 0 :(得分:1)

通常我会使用此代码段(根据您的需要进行调整):

$shop_is_feature_active = Shop::isFeatureActive();
$shops = Shop::getContextListShopID();
if ($shop_is_feature_active) {
    foreach ($shops as $shop) {
        StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$shop);
    }
} else {
    StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$this->context->shop->id);
}

但是,我总是建议检查产品是否在该商店。

检查是否

非常重要
Context::getContext()->employee

不为空,否则请输入:

$psContext = Context::getContext();
if (!$psContext->employee) {
    $psContext->employee = new Employee(PS_DEFAULT_EMPLOYEE);
}