2016-04-26 27 views
0

Wir verwenden Magento Version 1.9.2.3. Wir haben eine Warenkorbpreis-Regeln basierend auf der Benutzergruppe und dem benutzerdefinierten Attribut des Produkts. Es funktioniert manchmal nicht. Und ich bin mir nicht sicher, warum. Ich kann das Problem nicht wirklich replizieren, da es sich um ein Problem handelt.magento v1.9 Katalog Preis Regeln funktioniert manchmal nicht

Benutzer beschweren sich darüber, keine Rabatte zu erhalten, und ich kann es ihre Bestellung bestätigen, aber wenn ich manuell die gleiche Bestellung für den bestimmten Benutzer hinzufügen, dann sehe ich den Rabatt.

Hat jemand dieses Problem erfahren. Ich werde wirklich Ihre Hilfe zu diesem

Vielen Dank zu schätzen wissen.

+0

Ich stimme für das Schließen dieser Frage als Off-Topic ab, da Stack Overflow eine [programmierungsbezogene] (http://stackoverflow.com/help/on-topic) Q & A-Site ist. Bei Ihrer Frage geht es nicht um Programmierung. Vielleicht sollten Sie es stattdessen auf http://magento.stackexchange.com veröffentlichen? – Enigmativity

Antwort

0

Katalogpreisregeln Brauchen Cron-Jobs. Installieren Sie diese extension und überprüfen Sie, ob Cron funktioniert oder nicht. Wenn es funktioniert, überprüfen Sie, ob die Zeitzone Ihres Standardspeichers mit der Zeitzone Ihres Servers übereinstimmt.

enter image description here

Credits: @Alexei Yerofeyev

wenn beide Zeitpunkte sind die gleichen, als Ja, das ist ein Fehler in Magento (oder eine Logik über mein Verständnis). Wir hatten das gleiche Problem. Wenn Magento Produkte im Frontend anzeigt, prüft es, ob für dieses Datum Katalogregeln existieren. Und das Datum, das für diesen Scheck verwendet wird, ist Ihr lokaler, also in unserem Fall war es GMT + 5. Wenn Katalogregeln angewendet werden, wird jedoch das GMT-Datum verwendet. Das bedeutet, dass wir bis 5 Uhr morgens keine Regeln anwenden konnten.

Das Problem ist in Mage_CatalogRule_Model_Action_Index_Refresh :: execute() Funktion. Sie müssen diese Funktion/Klasse entweder in Ihrer Erweiterung oder in der lokalen Version der Datei neu schreiben.

wir ersetzt Linie 121:

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

mit dieser Zeile:

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

Danach ist es für uns gearbeitet.

wenn das für Sie auch gearbeitet didt, als

AOE-Scheduler-Erweiterung verwenden, catalogrule_apply_all Ausdruck von 0 1 * * * zu 30 */6 * * * cron ändern und es kann für Sie arbeiten.

Wenn möglich, überprüfen Sie die Bestellzeit, die didt Rabatt angewendet hat und Sie müssen möglicherweise herausfinden, was genau ist, dass Preis Regeln nicht funktionieren. Temparary-Fix ​​klickt erneut auf "Katalogregeln anwenden", wenn es nicht funktionierte.