Wo beginne ich mit Magento Shopping Cart Abandonment?

8

Ich probiere eine Art Warenkorb-Aufgabe-System mit Magento aus, das sein eingebautes Cron-Modul benutzt. Was ich im Grunde brauche, ist ein System, das alle 15 Minuten nach verlassenen Einkaufswagen sucht und ausgewählte Einkaufswagendaten an einen anderen Webservice sendet, wenn bestimmte Kriterien mit jedem Einkaufswagen erfüllt sind.

Grundsätzlich ist hier mein Prozess (aber zögern Sie nicht, einen besseren Weg vorzuschlagen):

der Prozess

  
  1. Holen Sie sich die Liste der verlassenen Wagen
  2.   
  3. Für jeden verlassenen Wagen ...   
    • Fügen Sie 15 (Min.) zum Feld "defaulted_dauration" in der Datenbank
    • hinzu   
    • Überprüfen Sie, ob die "downsiteed_duration" 45 oder 1440 (1 Tag) oder 4320 (3 Tage) beträgt.   
      • Wenn ja,   
        • Senden Sie Einkaufswageninformationen an einen anderen Webdienst
        •   
        • Wenn die Dauer von "wared_duration" um 43:20 Uhr (3 Tage) ist,   
          • Löschen des abgebrochenen Einkaufswagens
          •   
        •   
      •   
      • Sonst,   
        • weiter
        •   
      •   
    •   
  4.   
  5. Wiederholen Sie alle 15 Minuten mit Magento cron
  6.   

die Fragen

  
  1. Ist das in Magento möglich?
  2.   
  3. Gibt es einen besseren Prozess, um dies mit Magento zu tun?
  4.   
  5. Was sind die notwendigen Schritte, um dies zu implementieren? Beispielsweise...   
    • Welche Kernmodule sind notwendig?
    •   
    • Welche Controller müssen erweitert werden?
    •   
    • Soll ich dafür ein eigenes Modul erstellen?
    •   
    • Was ist der beste Weg, um verlassene Einkaufswagen als Array zu erhalten?
    •   
  6.   

Der Grund, warum ich mich an die Community gewandt habe, ist, dass die Magento-Dokumentation und die Tutorials sehr vage sind. Ich bin neu in der Magento MVC, aber ich bin nicht neu in PHP, OOP und MVCs.

Jede Anleitung hier wäre hervorragend. Prost.

    
Louis 10.02.2012, 06:42
quelle

2 Antworten

22

All dies kann mit Magento gemacht werden, aber wie gesagt, das ist eine sehr weit gefasste Frage. Ich gebe Antworten zu den spezifischen Themen, aber ich schlage vor, dass Sie sich Zeit nehmen, um die Grundlagen der Magento-Modulentwicklung zu studieren. Hier ist ein exzellentes Tutorial von Alan Storm (Lesen Sie die ganze Serie).

Holen Sie sich die Liste der verlassenen Wagen

In Magento ist der Einkaufswagen einfach ein Wrapper für das Objekt sales/quote , also die Entität, mit der Sie arbeiten werden.
Anstatt einem additional_duration-Attribut Inkremente hinzuzufügen, empfehle ich, einfach das Feld updated_at zu überprüfen.

%Vor%

Damit erhalten Sie eine Sammlung von Zitaten, die 15 Minuten lang nicht aktualisiert wurden. Sie können über sie wie ein Array iterieren

%Vor%

Magento Cronjobs

In Magento sind alle Cron-Jobs in der Konfigurationsstruktur aufgelistet. Also müssen Sie es zuerst zur Datei config.xml Ihres Moduls hinzufügen (weitere Informationen zur Magento-Konfiguration finden Sie im verlinkten Tutorial).
Dieser XML-Code registriert einen Cronjob mit Magento.

%Vor%

Wenn Magento nun den Cronjob ausführt, instanziiert er die Klasse your_module/observer und ruft die Methode processAbandonedCarts() auf.
Damit Magento konfigurierte Cronjobs verarbeiten kann, müssen Sie das System dafür einrichten. Dieser besteht aus zwei Teilen: der Systemkonfiguration und dem Auslösen der Cron-Jobs.

Die Systemkonfiguration erfolgt in der Administrationsoberfläche unter System & gt; Konfiguration & gt; System & gt; Cron (geplante Aufgaben)

Das Auslösen besteht darin, eine Möglichkeit einzurichten, das Skript cron.php (oder cron.sh) periodisch im Magento-Stammverzeichnis auszuführen. Dies kann unter Verwendung eines regulären Crontab-Eintrags ( man 5 crontab auf einem anständigen Unix-System für weitere Informationen) erfolgen. Eine andere von vielen bevorzugte Option besteht darin, das cron.php-Skript über einen curl - oder wget -Aufruf auszuführen, so dass die verarbeitende Benutzer-ID der normalen Magento-Benutzer-ID (d. H. Dem Apache-Benutzer) entspricht. Dies ist möglicherweise wichtig, wenn das APC-Caching konfiguriert ist, dies jedoch aus dem Thema entfernt wird.
Bei einem Thema ist dies jedoch . Sie müssen es oft genug aufrufen, damit es mit den Einstellungen übereinstimmt, die Sie in der Verwaltungsschnittstelle angegeben haben. ! Ich empfehle generell, das Skript cron.php alle 5 Minuten auszuführen. Wenn nichts geplant ist, wird es einfach beendet.

Eine wirklich nützliche Erweiterung für Magento beim Arbeiten mit Cronjobs ist Aoe_Scheduler . Es fügt einen großen Teil der Benutzeroberflächen für Cronjobs und interaktive Funktionen hinzu, die Teil des Kernsystems sein sollten.

Andere

Das Senden der Daten an einen Webdienst ist nicht Magento-spezifisch, sondern eher normales PHP, daher werde ich nicht näher darauf eingehen.

Um einen Einkaufswagen zu löschen, rufen Sie einfach $quote->delete() in der geladenen sales/quote -Instanz auf.

Bitte stellen Sie spezifische Fragen für weitere Informationen.

    
Vinai 10.02.2012, 08:30
quelle
0

hier ist mein, um alle aktiven verlassenen Wagen Zitate zu erhalten

%Vor%     
Ansyori 23.03.2015 04:16
quelle

Tags und Links