Wo beginnen mit Magento Warenkorb Verlassenheit?
Ich bin versucht, irgendeine Art von shopping-cart-abandonment-system mit Magento verwenden Sie die integrierten cron-Modul. Was ich im Grunde brauchen, ist ein system, dass die Kontrollen für verlassene Warenkörbe alle 15 Minuten und sendet Warenkorb wählen Sie Daten zu einem anderen web-service, wenn Sie bestimmte Kriterien erfüllt ist mit jedem Wagen.
Grundsätzlich ist hier mein Prozess (aber fühlen Sie sich frei, Vorschläge für eine bessere Art und Weise):
der Prozess
- Bekommen Liste der verlassenen Karren
- Für jeden verlassenen Warenkorb...
- Schreibe 15 (in Minuten) an, der Wagen ist abandoned_duration Feld in der Datenbank
- Überprüfen Sie, ob die abandoned_duration ist bei 45 oder 1440 (1 Tag) oder 4320 (3 Tage)
- Wenn ja,
- Warenkorb senden von Informationen an einen anderen web-service -
- Wenn abandoned_duration ist bei 4320 (3 Tage),
- Löschen verlassenen Warenkorb
- Anderes,
- weiter
- Wiederholen Sie alle 15 Minuten mit Magento cron
die Fragen
- Ist das möglich in Magento?
- Gibt es ein besseres Verfahren, dies zu tun mit Magento?
- Was sind die notwendigen Schritte zu gehen, über die Umsetzung dieser? Zum Beispiel...
- Die core-Module sind notwendig?
- Die Controller müssen verlängert werden?
- Sollte ich mein eigenes Modul dafür?
- Was ist der beste Weg, um verlassene Warenkörbe als array?
Dem Grund bin ich zu erreichen, um die Gemeinde ist, weil die Magento-Dokumentation und tutorials sind sehr vage. Ich bin neu in der Magento-MVC-aber ich bin nicht neu in PHP, OOP und MVCs.
Jede Anleitung hier wäre stellar. Cheers.
Du musst angemeldet sein, um einen Kommentar abzugeben.
All dies kann getan werden mit Magento, aber wie du schon sagtest, dies ist eine sehr umfassende Frage. Ich gebe Antworten auf die spezifischen Themen, aber ich schlage vor, Sie nehmen Sie sich Zeit, studieren Sie die Grundlagen der Magento Modul-Entwicklung. Hier ist ein Super tutorial von Alan Storm (Lesen Sie die ganze Serie).
Bekommen Liste der verlassenen Karren
In Magento, die Karre ist einfach ein wrapper für die
sales/quote
Objekt, so dass die Organisation, die Sie arbeiten werden.Statt das hinzufügen von Schritten zu einem abandoned_duration Attribut, schlage ich vor, einfach die Kontrolle gegen die
updated_at
Feld.Dies wird Ihnen eine Auflistung (betrachten Sie es als ein array mit Methoden) alle Zitate, die nicht aktualisiert wurden für 15 Minuten. Sie können Durchlaufen Sie wie ein array
Magento Cronjobs
In Magento, der alle Cronjobs aufgelistet sind, die in der Konfigurations-Struktur. Also zuerst müssen Sie hinzufügen der config.xml des Moduls (siehe das verlinkte tutorial für weitere Informationen über Magento-Konfiguration).
Diese XML-registriert einen cronjob mit Magento.
Nun, wenn Magento läuft der cronjob, es wird die Klasse instanziiert
your_module/observer
aus und rufen Sie denprocessAbandonedCarts()
- Methode.Um für Magento zu verarbeiten cronjobs konfiguriert, Sie müssen, um das system zu tun. Dieser besteht aus zwei teilen: der Konfiguration des Systems und das auslösen der cron-jobs.
Die system-Konfiguration erfolgt in der Administration unter System - > Konfiguration - > System - > Cron (Scheduled Tasks)
Die Auslösung beinhaltet die Einrichtung einen Weg, um in regelmäßigen Abständen ausführen cron.php (oder cron.sh -) Skript in das Magento root-Verzeichnis. Diese kann getan werden, mit einem normalen crontab-Eintrag (
man 5 crontab
auf jedem anständigen unix-system für weitere Informationen). Eine weitere option von vielen bevorzugt wird zur Ausführung der cron.php Skript durch einecurl
oderwget
nennen, damit die Verarbeitung der Benutzer-ID entspricht dem regulären Magento-Benutzer-ID (d.h. der Apache-user). Dies kann wichtig sein, wenn APC-caching konfiguriert ist, aber das wird langsam off-topic.Aber on topic ist, dass du musst es oft genug so passt die Einstellungen legen Sie in der Verwaltungsoberfläche!
Generell empfehle ich die Ausführung der cron.php Skript alle 5 Minuten. Wenn da nichts geplant, es wird einfach beenden.
Eine wirklich nützliche Erweiterung für Magento, die beim arbeiten mit cronjobs Aoe_Scheduler. Es fügt viel der user interfaces für die cronjobs und die interaktive Funktionalität, die Teil des core-system.
Anderen
Dem senden der Daten an ein web service ist nicht Magento-spezifisch, sondern eher regelmäßige PHP, also werde ich nicht mehr ins detail gehen.
Löschen Sie einen Wagen, einfach anrufen
$quote->delete()
auf der geladenensales/quote
Instanz.Bitte Fragen Sie mor spezielle Fragen für weitere Informationen.
is_active
ist eine gute Idee. Dieconverted_at
Feld scheint nicht verwendet zu werden, die durch den Kern, aber ich habe gesehen, einige Erweiterungen verwenden, so dass ich empfehlen, die Prüfung gegen die es im Ort, auch wenn Sie nicht haben, um. Ändern Sie die$minutes
zu was auch immer Sie benötigen, also 45 ist gut, wenn Sie wollen, um zu überprüfen Zitaten, die noch nicht aktualisiert wurde, in 45 Minuten.hier ist die mine, um alle aktiven verlassenen Warenkorb Zitate