如何修改PrestaShop Cron脚本,排除指定分类的缺货商品隐藏
修改PrestaShop缺货商品隐藏脚本,排除指定分类商品
要实现不对分类ID为2和5的商品执行隐藏操作,需要关联PrestaShop的product_category关联表(存储商品与分类的绑定关系),在SQL中排除属于这两个分类的商品。
修改后的完整代码
<?php require_once('./../config/config.inc.php'); // 核心SQL:隐藏缺货商品,但排除分类ID2、5下的商品 $sql = "UPDATE "._DB_PREFIX_."product_shop SET visibility='none' WHERE id_product IN ( SELECT id_product FROM "._DB_PREFIX_."stock_available WHERE quantity<=0 AND id_product NOT IN ( SELECT id_product FROM "._DB_PREFIX_."product_category WHERE id_category IN (2,5) ) )"; if (!Db::getInstance()->execute($sql)) die('error!'); ?>
关键改动说明
- 新增嵌套子查询:通过
product_category表筛选出属于分类2、5的商品ID,用NOT IN排除这些商品 - 保留原有逻辑:仅对库存≤0且不在指定分类的商品设置
visibility='none'
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

