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: ANLEITUNG: Bestellnummer als Verwendungszweck der Überweisung im Checkout

    D.G.

    • Fördermitglied
    • Beiträge: 56
    Moin,

    der Titel trifft's diesmal ganz gut. :)

    Finde dazu leider keinen Ansatzpunkt. Wie kann ich im Checkout (dort wo die Bankdaten
    angezeigt werden) eine zusätzliche Zeile mit dem folgenden Inhalt einfügen:
    Zitat
    Verwendungszweck: Onlineshop / Bestellnr: "aktuelle Bestellnr"
    Hat jemand eine Idee?

    Viele Grüße

    [EDIT Tomcraft 17.10.2013: Hier geht es direkt zur Anleitung von noRiddle.]

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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.218
    • Geschlecht:
    Nein, das geht auf der "checkout_confirmation.php" noch nicht, weil dort die Bestellung noch nicht abgeschlossen ist. Frühestens auf der "checkout_success.php" könnte man die Bestellnummer "oID" ausgeben.

    Grüße

    Torsten

    zoidborg

    • Frisch an Board
    • Beiträge: 71
    Ich sende meinen Kunden die Daten ohnehin erst in der Auftragsbestätigung mit den Daten der eustandardtransfer.php zu.

    Wie bekomme ich dort als Verwendungszweck die Bestellnummer rein?

    Danke :)

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Nein, das geht auf der "checkout_confirmation.php" noch nicht, weil dort die Bestellung noch nicht abgeschlossen ist. Frühestens auf der "checkout_success.php" könnte man die Bestellnummer "oID" ausgeben.

    Grüße

    Torsten

    Ich möchte in der checkout_success.php die Bestellnummer angeben.

    Könnte ich in der lang/lang_german.conf unter "text_success" folgenden Text realisieren?

    "Ihre Bestellung ist unter der Nummer  "xxx"   bei uns registriert."

    oder ist es nur möglich Dies in der checkout_success.html einzupflegen?
    Wenn ja, wie ist bitte der Code? Mit {$oID} funktioniert das leider nicht.

    Ich möchte mich jetzt schon für eine Antwort bedanken.

    Gruss Wolfgang

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.765
    • Geschlecht:
    In /checkout_success.php unter diesem
    Code: PHP  [Auswählen]
    $orders = xtc_db_fetch_array($orders_query);
    $last_order = $orders['orders_id'];
    $order_status = $orders['orders_status'];

    das einfügen
    Code: PHP  [Auswählen]
    $smarty->assign('TEXT_REASON_PAYMENT', sprintf(TEXT_REASON_PAYMENT, $last_order));



    In /lang/german/german.php ganz unten (!! vor dem schließenden ?> falls vorhanden)
    Code: PHP  [Auswählen]
    define('TEXT_REASON_PAYMENT', 'Ihre Bestellung ist unter der Nummer %s bei uns registriert.');
    (Text evtl. nach Wunsch anpassen, das %s ist der Platzhaler für die Bestellnummer.)

    In den anderen Sprachen analog.



    In /templates/YOUR_TEMPLATE/module/checkout_success.html folgendes an gewünschter Stelle einfügen:
    (Das ist der von dir gewünschte Text.)
    Code: PHP  [Auswählen]
    {$TEXT_REASON_PAYMENT}

    Nicht getestet !!
    Sollte aber so gehen.

    Gruß,
    noRiddle

    *NACHTRAG*
    Vorher die zu ändernden Dateien sichern, klar.
    Außerdem neuen Code kommentieren, ist besser für evtl. später anstehende Updates.

    [EDIT Tomcraft 17.10.2013: Fehler in Anleitung korrigiert.]
    [EDIT Tomcraft 17.10.2013: Anleitung in Beitrag 1 verlinkt.]
    [EDIT Tomcraft 17.10.2013: Fehler in Anleitung korrigiert.]

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    @noRiddle
    Dank für Deine schnelle - späte Antwort.

    Leider funktioniert das so nicht.

    Habe alles wie beschrieben eingefügt.

    Nur mit dem Code

    In /templates/YOUR_TEMPLATE/module/checkout_shipping.php folgendes an gewünschter Stelle einfügen:
    (Das ist der von dir gewünschte Text.)
    Code: PHP  [Auswählen]
    {$TEXT_REASON_PAYMENT}

    hatte ich so meine Probleme.

    Diese Datei /templates/YOUR_TEMPLATE/module/checkout_shipping.php gibt es nicht.
    Du meintest sicher die /templates/YOUR_TEMPLATE/module/checkout_shipping.html

    Ich habe den Code dann dort eingefügt.
    Leider wird nichts angezeigt.

    Aber die checkout_shipping.html wird vor dem Bestellabschluss aufgerufen.
    Sollte der Code nicht in die /templates/YOUR_TEMPLATE/module/checkout_success.html ?

    Denn dort steht ja der Text der in lang/german/lang_german.conf
    im [checkout_success] Bereich eingfügt wird.

    Ich bitte Dich es doch mal zu testen.
    Wir hätten die Bestellnummer gerne in der checkout_success.php (Erfolg).

    Gruss

    Wolfgnag

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.765
    • Geschlecht:
    Natürlich meinte ich /templates/YOUR_TEMPLATE/module/checkout_success.html, sorry.

    Das ganze funktioniert wie erwartet einwandfrei.

    Was du mit /lang/german/lang_german.conf möchtest verstehe ich nicht.
    Die Datei wird nicht benötigt.

    Gruß,
    noRiddle

    [EDIT Tomcraft 17.10.2013: Korrektur in Anleitung übernommen.]

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    @noRiddle,

    nochmals vielen Dank für Deine Antwort.

    Hmm....  Irgendwie klappt das nicht.

    Ich habe alle 3 Einträge in den jeweiligen Dateien eingefügt.

    Ganz genau so wie Du es beschrieben hast.

    Beim 4. Bestellvorgang, also nach dem der Kaufbutton geklickt wurde sollte der Text bzw.

    "Ihre Bestellung ist unter der Nummer xxx bei uns registriert." erscheinen.

    und über dem "{#text_success#}" stehen.
    Hmm..  Dieser Text erscheint nicht.

    Ich habe mal spasseshalber das Wort Test... vor dem Code   {$TEXT_REASON_PAYMENT} geschrieben.
    Es wir nur das Wort Test... angezeigt.

    Was könnte/werde ich wohl falsch gemacht haben.
    Bitte um Hilfe.

    Gruss
    Wolfgang

    Kawabiker

    • Fördermitglied
    • Beiträge: 353
    • Geschlecht:
    Versuch es mal damit:

    Code: PHP  [Auswählen]
    $smarty->assign('TEXT_REASON_PAYMENT', $last_order);

    Dann sollte zumindest die Bestellnummer angezeigt werden (auch nicht getestet)

    web0null

    • Experte
    • Beiträge: 1.998
    @mollvision
    Du musst statt
    Code: PHP  [Auswählen]
    $smarty->assign('REASON_PAYMENT', sprintf(TEXT_REASON_PAYMENT, $last_order));
    das schreiben
    Code: PHP  [Auswählen]
    $smarty->assign('TEXT_REASON_PAYMENT', sprintf(TEXT_REASON_PAYMENT, $last_order));

    [EDIT Tomcraft 17.10.2013: Korrektur in Anleitung übernommen.]

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.765
    • Geschlecht:
    Blödsinn, Mensch web0null, du bist noch am schlafen :-D.

    Den Smarty-Platzhalter kann ich definieren wie ich will.
    Er löst dann mittels sprintf() die Sprachkonstante (TEXT_REASON_PAYMENT) und den Platzhalter %s auf und gibt ihn aus.

    Im übrigen habe ich es inzwischen getestet, natürlich funktioniert's.

    *EDIT*
    Äääähh, uuppps, ich nehme alles zurück.
    Im Template muß das stehen
    Code: PHP  [Auswählen]
    {$REASON_PAYMENT}
    nicht das
    Code: PHP  [Auswählen]
    {$TEXT_REASON_PAYMENT}

    Ich schlafe wohl noch...  :oops:

    @mollvision
    Lies nochmals genau die Anleitung und halte dich genau daran.

    Gruß,
    noRiddle

    *NACHTRAG*
    Vielen Dank, Tomcraft, für's korrigieren meines Fehlers.

    web0null

    • Experte
    • Beiträge: 1.998
    Nöö ich schlafe nicht mehr, aber du jetzt oder :-D

    Schau mal, du hast oben gepostet,

    Code: PHP  [Auswählen]
    $smarty->assign('REASON_PAYMENT', ...
    statt,
    Code: PHP  [Auswählen]
    $smarty->assign('TEXT_REASON_PAYMENT' ...

    Ich meine die Smarty übergabe nicht die Konstante.
    Du wirst es auch richtig probiert haben, eben mit
    $smarty->assign('TEXT_REASON_PAYMENT' ...

    Gruß

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.765
    • Geschlecht:
    Schon gemerkt, siehe oben.

    Sorryyyyyy.

    Gruß,
    noRiddle

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Hallo ihr lieben,

    tut mir leid, dass ich solche Umstände gemacht habe.

    @noRiddle,
    @web0null
    und schliesslich auch @Tomcraft.

    Ich danke Euch.

    Die jetztige Anleitung ist perfekt.

    Nun...   @Kawabiker

    Dieser Code funktioniert in sofern, dass lediglich die Bestellnummer angezeigt wird, also ohne den restlichen Text der in der german.php eingefügt wurde.
    Quasi nur der Platzhalter %s.

    Nicht weiter schlimm. Man müsste dann nur noch in der lang_german.conf im Bereich [checkout_success]
    weitere Platzhalter einfügen und diese dann im Template in der checkout_success.html mit anzeigen lassen.
    Das nur zur Info.

    noRiddle's Lösung ist von daher die Eleganteste.

    Nochmals besten Dank.

    Gruss

    Wolfgang

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.765
    • Geschlecht:
    Kawabiker wollte ja nur einen Test vorschlagen.

    Ich hatte mich schlicht und einfach verschrieben.
    So wie Tomcraft (danke ;-)) es jetzt gemäß web0null korrigiert hat geht's natürlich auch.
    Ich wollte halt den Smarty-Platzhalter beibehalten und lediglich im Template den korrekten einsetzen.

    Zur Klärung für andere Leser:
    Dieser Post also wurde nicht verwirklicht und kann ignoriert werden.
    Wie es jetzt hier steht ist es korrekt.

    Gruß,
    noRiddle
    2 Antworten
    3167 Aufrufe
    10. November 2010, 17:23:34 von Tomcraft
    11 Antworten
    7098 Aufrufe
    23. Mai 2013, 10:00:11 von hwk
    2 Antworten
    1155 Aufrufe
    26. August 2020, 09:21:08 von Bornemann
    3 Antworten
    3634 Aufrufe
    05. April 2013, 12:57:35 von zoidborg