woher we_orderId nach Bestellung bekommen?

Hier können Sie Fragen bezüglich des Shop Moduls stellen.
Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

woher we_orderId nach Bestellung bekommen?

Beitragvon blickfang » Mi 11. Apr 2012, 20:48

Hi,

in einer der letzten Updates sind viele neue Shopfunktionen dazugekommen, die ich gerne testen würde. Wie z.B. das Versenden verschiedener Statusmails. Wie komme ich an die we_orderid? Man kann/muss die als REQUEST übergeben, ok, aber woher bekomme ich die nach der Bestellung? Muss man die selbst aus der Datenbank lesen oder gibt das <we:writeShopData> zurück?

Und wie funktionieren die StatusMails? Was bedeuten die vielen Felder in den ShopEinstellungen "DateOrder", "DateConfirmation" usw. ?
Habe schon versucht über das Demo-Backup was rauszufinden- ich steig aber nicht durch...

Hat schon jemand Erfahrungen gemacht und kann Licht ins Dunkel bringen?
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

AndreasWitt

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon AndreasWitt » Mi 11. Apr 2012, 20:59

Hallo,

hier mal ein paar Infos zu den Statusmail:

1. Die Felder der Statusmail Einstellungen dienen dazu, dass für unterschiedliche Status (Bestellbestätigung, Versandbestätigung, Bezahlung erhalten) jeweils unterschiedliche Dokumente als zu versendende Email angegeben werden können, d.h. du kannst rein theoretisch für fast jeden möglichen Status, den eine Bestellung haben kann, eine eigenständige (inhaltlich, strukturell, gestalterisch etc.) Email versenden.

2. Zugriff auf we_orderID
In einem Bestätigungsemail-Template nutzt die einfach folgendes. Der we:order Tag erhält automatisch die OrderID der Bestellung.

Code: Alles auswählen

<we:order>
    <we:field type="text" name="CustomerID" to="global" nameto="KundenID"/>
    <we:field type="text" name="OrderID" to="global" nameto="BestellID"/>
    
    #Infos über den Kunden
    <we:customer id="\$KundenID">
    </we:customer>
    
    # Auflistung der bestellten Artikel
    <we:listview type="orderitem" orderid="\$BestellID">
        
    </we:listview>
</we:order>
Grüße, Andreas

P.S. ich verschiebe das mal ins Unterforum "Shop-Modul"

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon blickfang » Mi 11. Apr 2012, 21:11

Danke Andreas für die schnelle Info!

Wenn ich das richtig verstehe kann ich mir also im ShopModul bei den Bestellungen Button anzeigen alssen, die dann bei Klick eine Statusmail meiner Wahl versenden. Hab ich glaub kappiert! Das ist fein! Kann ich einen Status auch über ein Template auslösen? Also nach erfolgreicher PayPal-Zahlung => Setze Status auf xy (inkl. Mailversand)?

Auf welche Felder kann man innerhalb we:order zugreifen? In der Datenbank steht die Bestellung als serialized array drin, da komme ich auf den ersten Blick nicht weiter..?!
Ich würde gerne die gesamte Tabelle wie im ShopModul selbst abbilden. Also Artikel, Versandkosten, Kosten gesamt , MwSt etc.
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon mokraemer » Mi 11. Apr 2012, 21:23

hmm,
ich hab ja schon mal angemerkt das ich den Shop reichlich verwirrend finde - aber zum Thema:
Wenn du eine Bestellung getätigt hast (we:writeShopData), dann kann man aus $GLOBALS[$shopname]->getOrderID() die ID auslesen.
Ich sage sowas nicht gerne, weil man damit auf Internas zugreift - ich verstehe hier aber auch nicht, wie das gedacht sein soll.
Evtl. über eine LV in der man über alle Aufträge iteriert?! zumindest steht bei einem <we:listview type="order"> in <we:var name="path" type="property"> ein Link mit der Request-Variablen.
webEdition-Kern-Entwickler

AndreasWitt

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon AndreasWitt » Mi 11. Apr 2012, 21:36

... du kannst mit <we:field/> auf alle Felder der Bestellung zugreifen ...

Code: Alles auswählen

<we:order>
    <we:field type="text" name="CustomerID" to="global" nameto="KundenID"/>
    <we:field type="text" name="OrderID" to="global" nameto="BestellID"/>
    
    #Infos über den Kunden, Felder genauso wie in der KV benannt
    <we:customer id="\$KundenID">
        <we:field type="text" name="Forename">
        <we:field type="text" name="Surname">
    </we:customer>
    
    #Kundendaten ausserhalb von we:customer mit Prefix "Customer_"
    <we:field type="text" name="Customer_Forename" />
    <we:field type="text" name="Customer_Surname" />
    
    <we:comment>Infos zu den Versandkosten</we:comment>
    <we:field name="Shipping_costs"/>
    <we:field name="Shipping_vatRate"/>
    
    # Auflistung der bestellten Artikel
    <we:listview type="orderitem" orderid="\$BestellID">
        <we:field name="Price" />
        <we:field name="Quantity" />
        <we:field name="vat_percent"/>
        <we:field type="text" name="shoptitle"/>
        <we:field type="text" name="shopdescription"/>
    </we:listview>
</we:order>
Die Gesamtkosten musst du dann wir auch in der Warenkorb-Übersicht wieder selbst berechnen.

Was das automatische setzen des Status angeht, gibt es aktuell glaube ich keine webEdition-Lösung. Du könntest das höchstens direkt in die DB schreiben ... aber die Frage ist auch, ob du überhaupt automatisch ermitteln kannst, dass die Paypal-Bestellung wirklich erfolgt ist. Wenn der Kunde nämlich von Paypal nicht zurück zum webEdition-Shop geleitet wird, weil der Kunde das Browser-Fenster schließt, gibt es ein Problem daher werden alle anderen Status eigentlich Manuell ausgelöst ...

Grüße, Andreas

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon blickfang » Mi 11. Apr 2012, 21:48

$GLOBALS[$shopname]->getOrderID() ist schon mal ein Schritt nach vorne! Danke.

Kundendaten abzufragen ist mir durch das Beispiel klar. Aber welche Felder gibt es in we:order aus der Bestellung, also wie heißen die - wie beispielsweise <we:field type="text" name="Shipping_vatRate" />?

Die Statusmail "Zahlung erhalten" soll eben genau dann versendet werden, wenn der User erfolgreich vom PaylPal Fenster zurück kommt. Schließt er das Fensterl bekommt er keine. So ganz glücklich bin ich da auch nicht drüber, da ja kein wirklicher handshake statt findet, den Parameter "success" an die URL anhängen könnte im Prinzip ja jeder auch manuell...
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

AndreasWitt

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon AndreasWitt » Mi 11. Apr 2012, 22:01

... genau deshalb gibt es aktuell keine webEdition Lösung für das automatische Setzen eines anderen Status aus Bestellbestätigung.

die Frage ist nicht, was es noch für Felder gibt, sondern eher was du noch brauchst!
Mein Beispiel enthält eigentlich alles, was du benötigst ...

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon blickfang » Do 12. Apr 2012, 15:16

dann werde ich da wohl etwas drum herum basteln müssen...
kann man denn mit we:sendmail die StatusMails auch versenden und einfach vorher $_REQUEST[we_orderid] setzen, oder muss zuästzlich noch etwas übergeben werden?
Ich würde gerne die Statusmails nutzen, da dort dann auch das subject und die ganzen Bestelldaten abgehandelt werden.
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

hansheng
Junior Member
Beiträge: 1
Registriert: Mi 2. Mai 2012, 05:47

Re: woher we_orderId nach Bestellung bekommen?

Beitragvon hansheng » Mi 2. Mai 2012, 06:04

in Abhängigkeit der umzusetzenden Plattform, halt genau überlegen welche Lösung am Besten geeignet ist und ev. Sicherheitsaspekte berücksichtigen.


Zurück zu „Shop Modul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste