правила цен по каталогу исчезают после полуночи


enter image description here У нас проблема с правилами каталожных цен в 1.9.0

У нас на сайте около 1000 товаров.

Мы применили правила цен по каталогу, чтобы предоставить скидку на 500 товаров.

Я не указывал никаких ограничений по дате для правил цен по каталогу

Эти специальные цены отображаются только до середины ночи.

На следующий день, после полуночи, специальные цены на сайте не отображаются.

Cron работает нормально.

Пожалуйста, помогите мне найти некоторые решение.

Author: Baby in Magento, 2015-05-15

4 answers

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

 1
Author: Saurabh, 2015-05-15 04:58:19

Источник: https://stackoverflow.com/questions/25280095/magento-catalog-price-rule-disappears-at-night

Кредиты для гениального "Алексея Ерофеева". в основном я никогда не забуду этого человека.

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

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

Вы должны заменить строку 121 здесь:

app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php

$timestamp = $coreDate->gmtTimestamp('Today');

С этой строкой:

$timestamp = Mage::app()->getLocale()->date(null, null, null, true)->get(Zend_Date::TIMESTAMP);

После этого вы сможете применять правила.

 5
Author: Baby in Magento, 2017-05-23 12:37:12

Как указано выше @Baby-in-Magento, проблема заключается в индексаторе.

У меня тоже была эта проблема, проблема возникает, когда смещение местного часового пояса больше, чем +01:00.

В основном только потому, что magento использует метку gmtTimestamp для даты правила, которая в указанном выше случае приводит к позавчерашнему дню.

Для этого я разработал небольшой модуль https://github.com/Chuvisco88/Chuvisco_CatalogRuleFix чтобы устранить проблему. Если кто-нибудь когда-нибудь есть эта проблема, пожалуйста, попробуйте.

 2
Author: Chuvisco, 2017-07-19 08:20:01

В моей настройке решение состояло в том, чтобы установить часовой пояс mysql таким же, как часовой пояс magento Я справился с этим, используя это утверждение в своем local.xml файл

 1
Author: user498529, 2019-01-04 08:45:10