правила цен каталога magento v1.9 иногда не работают
Мы используем Magento версии 1.9.2.3. У нас есть настройка правил цены корзины на основе группы пользователей и пользовательского атрибута продукта. Иногда это не срабатывает. И я не уверен, в чем причина. Я действительно не могу воспроизвести проблему, поскольку она включает и выключает тип проблемы.
Пользователи жалуются на то, что они не получают скидок, и я могу проверить это в своем заказе, но если я вручную добавлю тот же заказ для конкретного пользователя, я увижу скидку.
Имеет ли какой-либо испытал эту проблему. Я буду очень признателен вам за помощь в этом.
4 answers
Для правил каталожных цен Требуются задания Cron. установите это расширение и проверьте, работает ли cron или нет. если он работает, проверьте, что часовой пояс вашего магазина по умолчанию совпадает с часовым поясом вашего сервера.
Кредиты: @Алексей Ерофеев
Если оба времени совпадают, то да, это ошибка в Magento (или какая-то логика, выходящая за рамки моего понимания). у нас была та же проблема. Когда Magento отображает продукты на интерфейсе, он проверяет, есть ли правила каталога на эту дату. И дата, используемая для этой проверки, является вашей местной, поэтому в нашем случае это было GMT+5. Однако при применении правил каталога используется дата по Гринвичу. Таким образом, это означает, что мы не могли применять правила до 5 утра.
Проблема заключается в функции mage_catalogrule_model_action_index_refresh::выполнить(). Вам придется переписать эту функцию/класс либо в своем расширении, либо через локальную версию файла.
Мы заменили строку 121:
$timestamp = $coreDate->gmtTimestamp('Today');
С этой строкой:
$timestamp = Mage::app()->getLocale()->date(null, null, null, true)->get(Zend_Date::TIMESTAMP);
После этого это сработало для нас.
Если это также не сработало для вас, то
Используя расширение планировщика AOE, измените выражение catalogrule_apply_all
cron с 0 1 * * *
на 30 */6 * * *
, и это может сработать для вас.
Если возможно, проверьте время заказа, на которое не была применена скидка, и вам может потребоваться найти точное время, когда правила цен не работают. Временное исправление заключается в повторном нажатии кнопки "Применить правила каталога", когда она не работала.
Я заметил одну вещь: правила ценообразования в каталоге требуют, чтобы cron работал безупречно. Если возникают проблемы с cron (не работает, сбой и т. Д.), Эти правила перестают работать автоматически. Это может показаться странным дизайнерским решением, но когда что-то идет не так, люди обычно предпочитают отключать правила слишком рано, а не слишком поздно.
Проблема не в cron. Проблема в том, что он работает за определенную цену и не работает за определенную цену. Я имею в виду не совсем 50 % скидку на все товары. Конкретные пункты оформления.
Проверьте свой cron - он работает правильно? Просмотрите таблицу базы данных cron_schedule для записей "catalogrule_apply_all" и посмотрите их статус.
Попробуйте применить правило каталога вручную и проверьте еще раз.