Правила цены каталога magento v1.9 не работают несколько раз

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

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

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

Благодарю.

2 ответа

Решение

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

введите описание изображения здесь

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

если оба тайминга одинаковы, чем Да, это ошибка в Magento (или какая-то логика вне моего понимания). у нас была такая же проблема. Когда Magento отображает продукты во внешнем интерфейсе, он проверяет, существуют ли правила каталога на эту дату. И дата, используемая для этой проверки, является вашей местной, поэтому в нашем случае это было GMT+5. Однако, когда применяются правила каталога, используется дата по Гринвичу. Это означает, что мы не могли применять правила до 5 часов утра.

Проблема в функции Mage_CatalogRule_Model_Action_Index_Refresh::execute(). Вам нужно будет переписать эту функцию / класс либо в вашем расширении, либо через локальную версию файла.

мы заменили строку 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 * * * и это может сработать для вас.

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

В одном магазине у нас была такая проблема, когда иногда правила цены каталога не работали, но большую часть времени они работали нормально (даже в тот же день или в течение того же часа для одного и того же продукта!). Это было очень трудно воспроизвести, так как цены на catelogrule были правильными (таблица базы данных, заполненная правильными датами, идентификаторами продуктов и правильными ценами).

Мы уже использовали дополнительное расширение, чтобы убедиться, что правила применялись каждый день и все еще сталкивались с проблемой...

Но через несколько недель мы нашли шаблон: оказывается, это происходит только тогда, когда заказ сделан через бэкэнд /admin. В Magento есть небольшая известная ошибка, которая хорошо описана в этом блоге:

http://www.techytalk.info/catalog-price-rules-not-applied-creating-order-magento-admin/

надеюсь, это поможет кому-то!

Другие вопросы по тегам