我是Prestashop的初学者,我想修改我的网站。如果促销结束已过时,我想自动删除产品。
对于特别优惠(促销),结束日期使用$product.specific_prices.to
编写。
我想删除此变量的日期等于当前日期的文章。但我不知道怎么做...在模板中?例如:
{if ($smarty.now|date_format:'%Y-%m-%d %H:%M:%S' <= $product.specific_prices.to) && ($product.specific_prices.to != '0000-00-00 00:00:00')}
在DB中触发?
CREATE EVENT IF NOT EXISTS `Clean_End_Promotion`
DELETE FROM products
WHERE promo_date == NOW() //but I don't which table I can use
使用PHP文件?我不知道哪种方式最好。
谢谢!
答案 0 :(得分:0)
这个怎么样?创建一个新的自定义PHP文件(包括init; config.php文件以访问数据库或写连接)。
$today = date("Y-m-d H:i:s");
$sql = 'SELECT id_product FROM `'._DB_PREFIX_.'specific_price` WHERE to >= '.$today;
$result = Db::getInstance()->execute($sql);
Foreach ($result as $res) {
$prod = new Product($res);
$prod->delete();
}
我不知道我没有测试它,我从未使用删除功能,但检查产品类了解更多信息。 Product-&gt; delete应删除所有表中的所有数据。