правила цен каталога magento v1.9 иногда не работают


Мы используем Magento версии 1.9.2.3. У нас есть настройка правил цены корзины на основе группы пользователей и пользовательского атрибута продукта. Иногда это не срабатывает. И я не уверен, в чем причина. Я действительно не могу воспроизвести проблему, поскольку она включает и выключает тип проблемы.

Пользователи жалуются на то, что они не получают скидок, и я могу проверить это в своем заказе, но если я вручную добавлю тот же заказ для конкретного пользователя, я увижу скидку.

Имеет ли какой-либо испытал эту проблему. Я буду очень признателен вам за помощь в этом.

Author: 7ochem, 2016-04-26

4 answers

Для правил каталожных цен Требуются задания Cron. установите это расширение и проверьте, работает ли cron или нет. если он работает, проверьте, что часовой пояс вашего магазина по умолчанию совпадает с часовым поясом вашего сервера.

enter image description here

Кредиты: @Алексей Ерофеев

Если оба времени совпадают, то да, это ошибка в 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 * * *, и это может сработать для вас.

Если возможно, проверьте время заказа, на которое не была применена скидка, и вам может потребоваться найти точное время, когда правила цен не работают. Временное исправление заключается в повторном нажатии кнопки "Применить правила каталога", когда она не работала.

 2
Author: Baby in Magento, 2016-04-26 20:02:27

Я заметил одну вещь: правила ценообразования в каталоге требуют, чтобы cron работал безупречно. Если возникают проблемы с cron (не работает, сбой и т. Д.), Эти правила перестают работать автоматически. Это может показаться странным дизайнерским решением, но когда что-то идет не так, люди обычно предпочитают отключать правила слишком рано, а не слишком поздно.

 0
Author: Pronto, 2016-04-26 19:24:14

Проблема не в cron. Проблема в том, что он работает за определенную цену и не работает за определенную цену. Я имею в виду не совсем 50 % скидку на все товары. Конкретные пункты оформления.

 0
Author: Yeshu, 2016-04-26 20:21:29

Проверьте свой cron - он работает правильно? Просмотрите таблицу базы данных cron_schedule для записей "catalogrule_apply_all" и посмотрите их статус.

Попробуйте применить правило каталога вручную и проверьте еще раз.

 0
Author: Bashev, 2016-04-26 20:40:09