Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Checkout Kundendaten anzeigen/abrufen

    julisu

    • Fördermitglied
    • Beiträge: 17
    Checkout Kundendaten anzeigen/abrufen
    am: 20. April 2020, 16:46:52
    Hallo liebe Community!

    Ich bin etwas am verzweifeln.
    Ich möchte gerne die, nach dem Bestellvorgang übergebenen Kundendaten, in eine URL einbinden, damit ein Formular vorbefüllt ist.

    Leider gehen ja die {php} tags nicht mehr und sobald ich per dem neuen "include" eine PHP-Datei einbinden will, oder direkt in die checkout_success.html php-Code einfüge, bleibt die Seite einfach weiß.

    Auch mit einem IF-Statement, welches auf jeden Fall true ist, wird die Seite einfach nur weiß.

    Ich habe einmal versucht die Daten über die vorgebenen $_SESSION['firstname'] etc. und über eine eigene Session auszulesen - ohne Erfolg.

    Könnt Ihr mir sagen, wie ich auf der Checkout-Seite PHP-Code einfügen kann?

    LG Julisu

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41014.0
    Shop Hosting

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #1 am: 20. April 2020, 17:45:22
    Wenn die Werte die du benötigst bereits in der Session stehen, kannst du das auch mit Smarty machen.

    Code: PHP  [Auswählen]
    {$smarty.session.firstname}

    Gruss Gerhard

    julisu

    • Fördermitglied
    • Beiträge: 17
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #2 am: 21. April 2020, 08:30:06
    Top, hat geklappt!
    Ich habe in der checkout-success.php die Daten in Sessions eingetragen
    Code: PHP  [Auswählen]
    session_start();
    $_SESSION["vorname"] = $order->customer['firstname'];
    $_SESSION["nachname"] = $order->customer['lastname'];
    $_SESSION["strasse"] = $order->customer['street_address'];
    $_SESSION["stadt"] = $order->customer['city'];
    $_SESSION["plz"] = $order->customer['postcode'];
    $_SESSION["email-adresse"] = $order->customer['email_address'];
     

    und dann in der checkout.success.html per deiner syntax (z.B. {$smarty.session.stadt} ) wieder aufgerufen und es funktioniert :)!
    Vielen Dank!

    Für alle, die es auch benutzen wollen:
    Am Ende müssen die Daten wieder aus der Session entfernt werden, also in der checkout_success.php am Ende einfügen:

    Code: PHP  [Auswählen]
    unset ($_SESSION["vorname"]);
    unset ($_SESSION["nachname"]);
    unset ($_SESSION["strasse"]);
    unset ($_SESSION["stadt"]);
    unset ($_SESSION["plz"]);
     

    PS: ich habe ewig nach Infos gesucht, aber keine gefunden. War ich zu doof oder ist es wirklich so schwer an diese Infos heranzukommen?

    MfG
    Julisu

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #3 am: 21. April 2020, 10:21:53
    jetzt machst du noch das
    Code: PHP  [Auswählen]
    weg, denn die Session ist bereits gestartet...

    Gruss Gerhard

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #4 am: 23. April 2020, 14:42:51
    @julisu
    Abgesehen davon, daß du eine Shop-Version nicht genannt hast und man somit nicht genau weiß zu was man raten soll:
    Wenn du wie in deinem Doppel-Post geschrieben damit Versanddaten übertrtagen möchtest würde ich nicht $order->customer sondern $order->delivery nehmen. Ansonsten kann es passieren, daß die Versanddaten nicht stimmen, nämlich immer dann wenn es eine von der Haupt-Kundenadresse abweichende Lieferadresse gibt.

    Wenn es sich um eine aktuelle Shop-Version handelt (2.0.0.0 aufwärts) würde ich die Sache außerdem in die checkout_process.php verlegen, denn da gibt es die auto_include-Hooks und alle Daten die du benötigst stehen noch zur Verfügung, sodaß man das Ganze update-sicher bauen könnte.

    Gruß,
    noRiddle

    julisu

    • Fördermitglied
    • Beiträge: 17
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #5 am: 23. April 2020, 15:38:39
    Vielen Dank für den Hinweis, werde ich ändern!

    Meine Shopversion ist 2.0.5.0 rev 12487

    Zu meiner anderen Frage:

    Ich würde das selbe gerne in der Bestätigungs-Email machen. Sobald ich aber in der order_mail.html den Code {smarty.session.vorname} einfüge, bleibt die Ausgabe in der Mail leer. Ich habe auch das unset der Session deaktiviert. Tritzdem bleibt die Ausgabe leer.

    Wo muss ich ansetzen? Ich verstehe den Ablauf nicht ganz.

    An welcher Stelle / PHP-Datei beim Kauf wird die Email generiert bzw. woher zieht sich die Template HTML-Dateie die Variablen?

    julisu

    • Fördermitglied
    • Beiträge: 17
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #6 am: 27. April 2020, 16:33:53
    Konnte es lösen! Habe scheinbar einfach einen Schreibfehler drin gehabt  :doh:

    Ich kann in der order_mail.html die gleichen Variablen benutzen, wie in der checkout_success.html

    kleiner Zusatz noch, zu meiner Lösung oben:
    Für meine Link-Generierung brauchte ich Straße und Hausnummer getrennt.

    Lösung:
    In der checkout_confirmation.php folgende Zeilen einfügen:

    Code: PHP  [Auswählen]
    $split_addr = explode(" ", $order->delivery['street_address']);

    Code: PHP  [Auswählen]
    $_SESSION["strasse"] = $split_addr[0];
    $_SESSION["nummer"] = $split_addr[1];
     

    Ich werde in den nächsten Tagen dann mal der Empfehlung folgen und es in die checkout_process.php verlagern  ;-)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Checkout Kundendaten anzeigen/abrufen
    Antwort #7 am: 27. April 2020, 18:16:49
    Für die Bestellbestätigung mußt du die auto_include() in der /send_order.php benutzen, bzw. schauen was bereits zur Verfügung steht.

    Das hier
    Code: PHP  [Auswählen]
    $split_addr = explode(" ", $order->delivery['street_address']);

    ist sehr fehler-anfällig.
    • gibt es Sonderadressen ohne Hausnummer (auf'm Land öfter mal zu sehen)
    • gibt es Adressen mit anderem Format, wie z.B. in Mannheim
      *EDIT* oder, noch wichtiger, Strassennamen die bereits ein Leerzeichen haben *END_EDIT*
      und
    • kannst du dich nicht darauf verlassen, daß die Kunden alle gleich schreiben, nämlich
      STRASSE LEERZEICHEN HAUSNUMMER
      Habe schon alles gesehen, mit Komma anstatt Leerzeichen und weitere Schreibweisen.
      Darüber gab'S hier im Forum schon mehrfach Diskussionen in diversen Zusammenhängen.

      Soweit ich mich erinnere hat auch jemand ein Ticket aufgemacht mit dem Feature-Wunsch die Hausnummer zusätzlich zum bisherigen Feld mit "Strasse Hausnummer", in ein Extra-Feld abzuspeichern.
      Dazu müsste die Hausnummer allerdings extra abgefragt werden und das zieht sich durch den ganzen Shop, im Front- wie auch im Backend, und würde deshalb eines größeren Umbaus bedürfen.

    Gruß,
    noRiddle
    Werbung / Banner buchen
    6 Antworten
    2868 Aufrufe
    21. Juni 2013, 00:29:39 von Marcel G.
    0 Antworten
    1559 Aufrufe
    15. Juli 2010, 15:47:39 von xtc4pii
    2 Antworten
    1901 Aufrufe
    14. März 2016, 11:25:19 von noRiddle (revilonetz)
    19 Antworten
    4649 Aufrufe
    27. Juni 2016, 13:41:48 von Bonsai
               
    anything