Ergebnis 1 bis 13 von 13

Thema: Platzhalter in Mail werden nicht ersetzt

  1. #1
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard Platzhalter in Mail werden nicht ersetzt

    Hallo,

    unser Mail-Template sieht für die Mail an den Shop zur Bestellinfo so aus:




    Bestellnummer: ##order_id##

    ##cart_html##


    Rechnungsadresse:

    ##billing_address##


    Lieferadresse:

    ##shipping_address##


    Lieferung:

    ##shipping_method##
    ##shipping_note##


    Zahlungsform:

    ##payment_method##
    ##payment_note##


    Anmerkungen:

    ##form_customer_notes##



    Es wird alles ersetzt, außer der Rechnungsadresse:

    Rechnungsadresse:

    {company}
    {salutation} {firstname} {lastname}
    {street_1}
    {street_2}
    {street_3}
    {postal} {city}
    {country}

    {phone}
    {email}


    Was läuft da schief?


    Danke schonmal

    Mark

  2. #2
    Contao-Nutzer Avatar von Mr. Acylase
    Registriert seit
    24.01.2011.
    Ort
    Waldbrunn / Westerwald
    Beiträge
    151

    Standard

    Guten Morgen Mark,

    bei Isotope 2.3.x werden die von Dir genannten Felder z.B. wie folgt eingefügt:

    {company} --> ##billing_address_company##
    {salutation} --> ##billing_address_salutation##
    {firstname} --> ##billing_address_firstname##
    {lastname} --> ##billing_address_lastname##
    {street_1} --> ##billing_address_street_1##
    {street_2} --> ##billing_address_street_2##
    {street_3} --> ##billing_address_street_3##
    {postal} --> ##billing_address_postal##
    {city} --> ##billing_address_city##
    {country} --> ##billing_address_country##
    {phone} --> ##billing_address_phone##
    {email} --> ##billing_address_email##

    Wenn Du an dieser Stelle die Versandadresse angeben möchtest, tauschst Du einfach das "billing" gegen "shipping" aus.

    Grüße
    Stefan

  3. #3
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Danke für den Hinweis .... ich hatte mich allerdings getäuscht, es liegt nicht an den Mailformularen ...

    Im letzten Schritt der Bestellung sieht man schon in der order_info die Rechnungsadresse ... also werden offenbar schon beim
    Auslesen der Kundendaten nicht die Feldinhalte, sondern diese Platzhalter verwendet

    {company}
    {salutation} {firstname} {lastname}
    {street_1}
    {street_2}
    {street_3}
    {postal} {city}
    {country}

    {phone}
    {email}

    Wo ist da die Stelle, wo ich ansetzen kann?


    Danke schonmal


    Mark

  4. #4
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hast du denn schon die InsertTags von @Mr. Acylase ausprobiert? Diese sind nämlich absolut korrekt und müssten im Mailtemplate funktionieren, sowohl im Betreff, als auch im Text/HTML Bereich.

    Von daher

    Wo ist da die Stelle, wo ich ansetzen kann?
    ... siehe Beitrag #2 von @Mr. Acylase
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  5. #5
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ja, habe ich gelesen ... aber ich habe gesehen, dass schon beim Bestellen im letztem Schritt vor dem
    Abschicken einen Bestellung die Rechnungsadresse so dargestellt wird ...

    {company}
    {salutation} {firstname} {lastname}
    {street_1}
    {street_2}
    {street_3}
    {postal} {city}
    {country}

    {phone}
    {email}

    Daher ist das eigentlich auch Korrekt, wenn das dann in der Mail auftaucht ... der Fehler passiert also nicht im Mailtemplate
    sondern schon vorher, wo die Rechnungsdaten übergeben werden ...

    Wenn ich zum Beispiel die Rechnungsadresse während des Checkouts ändere, dann wird diese nicht übernommen sondern es kommt immer wieder

    {company}
    {salutation} {firstname} {lastname}
    {street_1}
    {street_2}
    {street_3}
    {postal} {city}
    {country}

    {phone}
    {email}

    als Ausgabe.

    Da ist irgendwo der Haken.


    Danke schonmal


    Mark

  6. #6
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Offenbar wird nicht richtig ersetzt

    das was da als Rechnungsadresse verwendet wird, steht ja in den
    $GLOBALS['ISO_ADR']

  7. #7
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Naja, die Templates aus dem Checkout haben erstmal noch nichts mit der Mail zu tun. Hast du vielleicht irgendwelchen eigenen Templates im Einsatz? Wundert mich sehr diese Ausgabe auf der letzten Seite.
    Probiers jetzt erstmal mit den o.g. InsertTags in der E-Mail aus, wenn das funktioniert, kannst du dich immernoch um die korrekte Ausgabe auf der Bestellseite kümmern.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  8. #8
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Habs ausprobiert ... ich habe aber auch noch einen Isotope 1.4.6 im Einsatz ....
    Wenn ich die anderen Platzhalter verwende, dann bleiben die Inhalte leer ....

    Die Bestellung selber hat im Backend unten bei den

    Rechnungsadress-Daten

    aber die richtigen Werte drin.


    Wenn man schon eine Rechnungsadresse hinterlegt hat und diese bei einer neuen Bestellung ändern möchte,
    dann erscheint die schon vorhandene Adresse auf der Seite /kasse/address ebenfalls nach dem Muster

    {company}
    {salutation} {firstname} {lastname}
    {street_1}
    {street_2}
    {street_3}
    {postal} {city}
    {country}

    {phone}
    {email}

    mark
    Geändert von Mark Knochen (17.03.2016 um 21:44 Uhr)

  9. #9
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Mark Knochen Beitrag anzeigen
    ich habe aber auch noch einen Isotope 1.4.6 im Einsatz ....
    Ach und diese WICHTIGE Info hat es leider nicht in den Eröffnungsthread geschafft?

    Also:

    Teste folgende InsertTags in der E-Mail

    ##billing_*##


    Das * steht dabei für das jeweilige Feld (firstname, lastname, salutation etc.)
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  10. #10
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Tut mir leid, das war in der Tat etwas blöd mit der Version.

    Ich habe die Platzhalter so ersetzt ... da bleibt die Email aber an der Stelle komplett leer, es wird
    dann also kein Inhalt da ausgegeben

  11. #11
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Was genau hast du denn jetzt in deiner Mail stehen?
    Übrigens oberhalb des E-Mailtextfeldes hast du den Help-Wizard (kleines Dreieck) wo man das auch nachlesen kann.

    Was passiert denn wenn du

    ##shipping_firstname##
    ##shipping_lastname##

    angibst? Wird das ausgegeben?
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  12. #12
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Bleibt leider auch leer.

    Ich bin auch doch der Meinung, dass es nicht an den Mail-Templates liegt, das war meine erste Vermutung.

    Im Checkout ist die Ausgabe der Rechnungsadresse ja schon fehlerhaft und besteht aus der Variable:

    $GLOBALS['ISO_ADR']['de'] = '{company}<br />{salutation} {firstname} {lastname}<br />{street_1}<br />{street_2}<br />{street_3}<br />{postal} {city}<br />{country}<br /> <br />{phone}<br />{email}';

    Genau das habe ich als Ausgabe.

    Offenbar werden die Platzhalter von da nicht ersetzt.

    parseSimpleTokens aus der Controller.php übernimmt das ersetzen .... und da kommt offenbar keine Ersetzung zustande, der String von der globalen Variable kommt einfach so wieder heraus.



    Mark
    Geändert von Mark Knochen (18.03.2016 um 07:08 Uhr)

  13. #13
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ich habe mir jetzt folgendermaßen beholfen.

    In der IsotopeAddressModel.php nehme ich die Ersetzungen der Adressplatzhalter selber vor,
    da die Zeile

    PHP-Code:
    $strAddress $this->Isotope->call('parseSimpleTokens', array($strFormat$arrTokens)); 
    offenbar nicht greift.

    PHP-Code:
    $strAddress preg_replace('#company#'$arrTokens['company'], $strAddress);
    $strAddress preg_replace('#salutation#'$arrTokens['salutation'], $strAddress);
    $strAddress preg_replace('#firstname#'$arrTokens['firstname'], $strAddress);
    $strAddress preg_replace('#lastname#'$arrTokens['lastname'], $strAddress);
    $strAddress preg_replace('#street_1#'$arrTokens['street_1'], $strAddress);
    $strAddress preg_replace('#street_2#'$arrTokens['street_2'], $strAddress);
    $strAddress preg_replace('#street_3#'$arrTokens['street_3'], $strAddress);
    $strAddress preg_replace('#postal#'$arrTokens['postal'], $strAddress);
    $strAddress preg_replace('#city#'$arrTokens['city'], $strAddress);
    $strAddress preg_replace('#country#'$arrTokens['country'], $strAddress);
    $strAddress preg_replace('#phone#'$arrTokens['phone'], $strAddress);
    $strAddress preg_replace('#email#'$arrTokens['email'], $strAddress); 

    Falls jemand eine saubere Idee dafür hat, würde ich mich freuen.


    Mark

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •