10 October 2024
Найпростіший спосіб виправити ситуацію - це перейти в розділ Маркетинг, Цінові правила для каталогу і натиснути кнопку Застосувати правила.
Спосіб простий і підійде, якщо правила злітають не дуже часто. Якщо це відбувається раз на місяць або хоча б раз на тиждень – можна терпіти, доки не буде з'ясовано причину збою. Все одно адміністратор хоча б раз на тиждень та й заходить у панель управління, тому натиснути кнопку та почекати пару хвилин, доки правила будуть застосовані – не проблема.
Перейдіть до кореневого каталогу документів веб-сервера. Якщо в ньому немає каталогу shell, створіть його. У каталозі shell створіть файл apply_rules.php наступного вмісту:
echo "Apply rules\n"; require_once '../app/Mage.php'; $app = Mage::app('admin'); $rule = новий Mage_CatalogRule_Model_Rule; $rule->applyAll(); echo "Done\n"; ?>
Цей сценарій можна створити в будь-якому місці веб-сервера, але тоді потрібно відредагувати шлях до сценарію Mage.php. Не потрібно бути PHP-програмістом, щоб здогадатися, що робить сценарій – він отримує модель правил каталогу та викликає метод applyAll() для застосування всіх правил. Після того, як PHP-сценарій створений, потрібно автоматизувати процес його запуску.
Створіть файл apply з таким вмістом:
#!/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 ранку щодня. Якщо правила пропадають частіше ніж раз на добу, можна запускати цей сценарій частіше – хоч щогодини.