Magento — довольно сложная система управления
Самый простой способ поправить ситуацию — это перейти в раздел Маркетинг, Ценовые правила для каталога и нажать кнопку Применить правила.
Способ простой и подойдет, если правила слетают не очень часто. Если это происходит раз в месяц или хотя бы раз в неделю — можно терпеть, пока не будет выяснена причина сбоя. Все равно администратор хотя бы раз в неделю да и заходит в панель управления, поэтому нажать кнопку и подождать пару минут, пока правила будут применены — не проблема.
Данная ситуация плоха тем, что причин сбоя ценовых правил — довольно много. На поиски проблемы можно потратить много времени. А ведь менеджеры будут бить тревогу, пользователи магазина будут недовольны, начальство тоже. Поэтому мы предлагаем своеобразный костыль, а именно автоматизацию нажатия кнопки Применить правила.
Перейдите в корневой каталог документов
<?php
echo «Apply rules\n»;
require_once './app/Mage.php';
$app = Mage:app('admin');
$rule = new Mage_CatalogRule_Model_Rule;
$rule->applyAll();
echo «Done\n»;
?>
Этот сценарий можно создать в любом месте
После того, как
#!/bin/bash
cd /путь/htdocs/shell
/usr/bin/php apply_rules.php
Здесь вам нужно изменить путь к каталогу shell, в котором находится наш сценарий apply_rules. Далее нужно сделать файл apply исполняемым:
chmod +x apply
Все, можно тестировать:
./apply
Если после выполнения этого сценарий правила были применены, вы все сделали правильно. Далее нужно обеспечить постоянный запуск этого сценария, для этого выполните команду
crontab -e
Добавьте в расписание следующую строку:
00 8 * * * sh /путь/apply
Сохраните изменения и произведите выход из редактора. Данная строчка будет запускать наш сценарий в 8 утра каждый день. Если правила пропадают чаще, чем раз в сутки, можно запускать этот сценарий чаще — хоть каждый час.