prestashop - 如何找出产品是否可供销售

时间:2016-02-04 08:22:13

标签: php mysql prestashop

我需要知道我的产品是否可以出售。我在产品表中搜索了很多,但我不知道哪个单元显示该产品有多少可用,是否可以出售。

如何从prestashop的mysql数据库中找到它?

2 个答案:

答案 0 :(得分:1)

您可以在产品类

中调用checkQty()来查看产品供应情况
$prod = new Product($idProduct);
$available = $prod->checkQty();

如果你想通过SQL做到这一点,你必须检查两件事:

  • prefix_stock_available中,确保quantity不为零(数量=所有组合数量的总和)

  • prefix_stock_availableout_of_stock

    • 等于0,这意味着如果数量不足,产品将不允许新订单
    • 等于1,表示如果数量不足,产品将允许新订单
    • 等于2,这意味着产品行为是由您在密钥prefix_configuration的{​​{1}}中找到的全局设置定义的,因此您也必须检查该设置。

答案 1 :(得分:0)

这是通过MySql查询仅获取活动产品的最简单方法。请记住将 PS_PREFIX 替换为真实前缀。默认前缀是 - ps - ,但出于安全考虑,它是可以重新命名的更改它:

SELECT * FROM `PS_PREFIX_product` WHERE `active` = 1 AND `available_for_order` = 1 

现在,您可以更改查询以应用某些过滤器来获取所需的结果。例如,检查某些产品是否可用。在这种情况下,您必须将 PRODUCT_ID 替换为实数:

SELECT * FROM `PS_PREFIX_product` WHERE `active` = 1 AND `available_for_order` = 1 AND `id_product` = PRODUCT_ID