2015-10-11 1 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')} 

С триггером в БД?

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(); 
} 

Я не знаю, что я проверить его убежище `т и я никогда не использовал функцию удаления, но проверить класс продукта для получения дополнительной информации. Product-> delete должен удалить все данные из всех таблиц.

+0

Спасибо, я собираюсь попробовать это. –

+0

И где я могу поместить этот файл? –

+0

Просто создайте новый PHP-файл в вашем public_html или где вы хотите. Это будет пользовательский PHP-файл, но помните, что вы должны включить config и init, чтобы получить доступ к базе данных). И вы можете установить этот новый php-файл на задание cron, чтобы проверять его каждый день. Легко и быстро. – elPresta

 Смежные вопросы

  • Нет связанных вопросов^_^