2015-10-11 112 views
0

我是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

這是怎麼回事?創建一個新的自定義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(); 
} 

我不知道我沒有測試它,我從來沒有使用刪除功能,但檢查產品類的更多信息。產品 - >刪除應該刪除所有表中的所有數據。

+0

謝謝,我要試試這個。 –

+0

我在哪裏可以放這個文件? –

+0

只需在您的public_html或您想要的位置創建一個新的PHP文件。這將是自定義PHP文件,但請記住,您必須包含config和init才能訪問數據庫)。你可以將這個新的php文件設置爲cron job來每天檢查它。方便快捷。 – elPresta