Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: Anrede in Statusänderung E-Mail

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Anrede in Statusänderung E-Mail
    am: 31. Mai 2017, 12:00:29
    Hallo,
    seit dem Update auf v2.0.2.2 rev 10690 funktioniert die Anrede bei Statusänderungen nicht vernünftig.
    Während bei der Bestellbestätigung an den Kunden Sehr geehrter Herr Vorname Nachname bzw. Sehr geehrte Frau Vorname Nachmame steht, wird in der Statusänderung immer Hallo bzw. Hello Vorname Nachname geschrieben.
    Sowohl in der change_order_mail.html als auch in der order_mail.html wird das festgelegt über:

    Code: PHP  [Auswählen]
    {if $GENDER == 'm'}Sehr geehrter Herr{elseif $GENDER == 'f'}Sehr geehrte Frau{else}Hallo{/if} {$NAME}<br />

    Beide Einträge sind identisch.
    Das "Hallo" soll danach doch nur dann verwendet werden, wenn kein Geschlecht angegeben ist.
    Funktioniert aber nur in der order_mail.html, nicht in der Statusänderung.
    Lässt sich im Demoshop nachstellen.
    Woran könnte das liegen?

    PS: funktioniert auch die Variable {$LASTNAME} noch? Bei Sehr geehrte finde ich den Vornamen nicht besonders angebracht. Und so wie ich das sehe wird Mrs. in Englisch eigentlich nicht mehr verwendet sondern nur Ms.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=37291.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Anrede in Statusänderung E-Mail
    Antwort #1 am: 31. Mai 2017, 13:14:59
    Versuche folgendes, ersetze den geposteten Code mit diesem Code.

    Code: XML  [Auswählen]
    {if $GENDER}Sehr geehrte(r) {$GENDER}{else}Hallo{/if} {$NAME}<br />

    [...]
    PS: funktioniert auch die Variable {$LASTNAME} noch? Bei Sehr geehrte finde ich den Vornamen nicht besonders angebracht.
    [...]

    Ja, {$LASTNAME} sollte funktionieren.

    Und so wie ich das sehe wird Mrs. in Englisch eigentlich nicht mehr verwendet sondern nur Ms.

    In '\lang\english\english.php' und '\lang\english\admin\english.php' kannst du das in folgender Zeile dann anpassen.

    Code: PHP  [Auswählen]
    define('FEMALE', 'Ms./Mrs.');

    Gruss
    Hanspeter

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Anrede in Statusänderung E-Mail
    Antwort #2 am: 31. Mai 2017, 14:45:40
    Hallo Hanspeter,
    danke für Deinen Vorschlag, nur dann kommt bei einer Frau z.B. Sehr geehrte(r) Frau. Finde ich nicht so prickelnd.
    Bei

    Code: PHP  [Auswählen]
    Sehr geehrte{if $GENDER == 'Herr'}r{/if} {$GENDER} {$LASTNAME},

    funktioniert das so wie ich das möchte.
    Ich verstehe nur nicht, warum

    Code: PHP  [Auswählen]
    {if $GENDER == 'm'}Sehr geehrter Herr{elseif $GENDER == 'f'}Sehr geehrte Frau{else}Hallo{/if} {$NAME}<br />

    in der order_mail.html funktioniert und in der change_order_mail nicht.

    Das Ms. habe ich schon in allen relevanten Dateien angepasst. Das sollte mehr ein Vorschlag ans Team sein.

    Danke für Deine Hilfe!

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Anrede in Statusänderung E-Mail
    Antwort #3 am: 31. Mai 2017, 15:19:46
    Ändere die Zeile in der change_order_mail wie folgt ab:

    Code: PHP  [Auswählen]
    {if $GENDER == $smarty.const.MALE}Sehr geehrter Herr{else if $GENDER == $smarty.const.FEMALE} Sehr geehrte Frau {else} Hallo {/if}

    Ich lasse nicht auf Herr oder Frau prüfen, sondern verwende die Sprachkonstanten. Denn spätestens, wenn du die Sprachkonstante FEMALE z.B. in Madame änderst, schlägt die Prüfung auf Frau ebenfalls fehl.

    Die Frage wieso es in der order_mail geht und in der change_order_mail möchte ich dir auch beantworten.

    Die order_mail bekommt die Smartyvariablen aus der Datei send_order.php.
    Dort wird

    Code: PHP  [Auswählen]
    $GENDER

    direkt mit

    Code: PHP  [Auswählen]
    $order->customer['gender']

    befüllt, daher auch nur die Geschlechtskürzel, wie m und f.

    Die change_order_mail bekommt die Smartyvariablen aus der includes/classes/order.php und dort werden durch

    Code: PHP  [Auswählen]
    if ($order->customer['gender'] == 'f') {
      $smarty->assign('GENDER', FEMALE);
    } elseif ($order->customer['gender'] == 'm') {
      $smarty->assign('GENDER', MALE);
    } else {
      $smarty->assign('GENDER', '');
    }

    nicht die Geschlechterkürzel, sonder gleich die Bezeichnungen Herr und Frau übergeben.

    Fazit:
    In der Datei change_order_mail.html bzw. change_order_mail.txt ist die Geschlechterabfrage falsch und muss so wie oben geschrieben lauten.

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Anrede in Statusänderung E-Mail
    Antwort #4 am: 31. Mai 2017, 15:59:20
    Hallo Ronny,
    vielen Dank für Deine Erklärungen und die Lösung. Dann ist mir auch klar, warum das in den verschiedenen Dateien unterschiedlich funktionierte.
    Machst Du ein Ticket dafür auf?

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Anrede in Statusänderung E-Mail
    Antwort #5 am: 01. Juni 2017, 12:01:40
    Habe ein Ticket erstellt.

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Re: Anrede in Statusänderung E-Mail
    Antwort #6 am: 01. Juni 2017, 23:10:12
    Ticket #1019

    Besser immer dann auch die Ticketnummer mitangeben. Dann finden die anderen es auch, falls dort ein Lösungsvorschlag steht. Zumal es ein wieder eröffnetes Ticket ist und somit nicht oben steht bei den neuesten Ticketnummern, wenn man nach Ticketnummern sortiert.

    Danke fürs melden.

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Anrede in Statusänderung E-Mail
    Antwort #7 am: 20. Juni 2017, 13:10:34
    Hallo,
    eine kurze Frage dazu. Ich möchte das gerne so lösen, dass "Sehr geehrter Herr" Nachname bzw. "Sehr geehrte Frau2 Nachname angegeben wird, wenn kein Geschlecht angegeben ist "Hallo" Vorname Nachname erscheint.
    (Hintergrund ist, dass ich im Shop zwar das Geschlecht als Pflichtfeld habe, Kunden, die sich per Amazon Pay anmelden und bezahlen, dies offenbar ohne Geschlechtsangabe machen können).
    Wenn ich in der change_order_mail eingebe:
    Code: PHP  [Auswählen]
    {if $GENDER == $smarty.const.MALE}Sehr geehrter Herr {else if $GENDER == $smarty.const.FEMALE} Sehr geehrte Frau {$LASTNAME} {else} Hallo {/if}{$NAME},
    funktioniert das leider nicht.

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Anrede in Statusänderung E-Mail
    Antwort #8 am: 20. Juni 2017, 14:29:24
    So gehts:
    Code: PHP  [Auswählen]
    {if $GENDER == $smarty.const.MALE}Sehr geehrter Herr {$LASTNAME}{else if $GENDER == $smarty.const.FEMALE} Sehr geehrte Frau  {$LASTNAME}  {else} Hallo {$NAME},{/if}</b>
    Manchmal hat man echt Tomaten auf den Augen :hust:

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Re: Anrede in Statusänderung E-Mail
    Antwort #9 am: 26. Juli 2018, 09:46:01
    Hallo,

    wir benutzen noch die Version "v2.0.0.0 rev 9678" und haben das Problem, dass bei Kunden die nicht ihr geschlecht wählen, dann in der Mail "Bitte wählen" steht.

    Beispiel:
    "Sehr geehrte Bitte wählen NACHNAME..."

    Was muss ich im Code genau ändern, damit bei nicht Auswahl des Geschlechts dann "Sehr geehrte/r Frau/Herr" steht?

    So sieht der Code jetzt aus.

    create_account:mail.html
    "<font size="2" face="Tahoma, Verdana, sans-serif"><b>Sehr geehrte{if $GENDER == 'Herr'}r{/if} {$GENDER} {$LASTNAME},</b><br />"

    Gruß,

    Sven

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Anrede in Statusänderung E-Mail
    Antwort #10 am: 26. Juli 2018, 10:52:07
    Kann es sein, dass Du die Anrede in den Kundenoptionen deaktiviert hast? Beabsichtigt?

    Probier mal dies:

    Code: PHP  [Auswählen]
    <font size="2" face="Tahoma, Verdana, sans-serif"><b>Sehr geehrte{if $GENDER == 'Herr'}r Herr{elseif $GENDER == 'Frau'} Frau{else}/r Frau/Herr{/if} {*$GENDER*} {$LASTNAME},</b><br />

    MfG Hetfield  8-)

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Re: Anrede in Statusänderung E-Mail
    Antwort #11 am: 26. Juli 2018, 11:40:20
    Hallo,

    ja die haben wir die Anrede wegen der DSGVO deaktiviert.
    Man soll ja nur die nötigsten Daten sammeln und das Geschlecht ist für den Versand ja nicht wirklich wichtig und aus diesem Grund haben wir die Anrede deaktiviert.
    Leider kann man diese abfrage in unserer Shop Version nur deaktiviert oder aktivieren.
    Gibt es vielleicht eine Lösung um die Anrede Freiwillig auswählen zu lassen?

    Schön wäre es natürlich wenn der Kunde die Anrede freiwillig auswählen könnte.
    Gibt es hierzu vielleicht noch eine Codeänderung um diese Auswahl auch freiwillig dem Kunden zu überlassen ob er/sei das Geschlecht uns mitteilen möchte?
    Wie es dabei mit dem dritten Geschlecht aussieht ist dann noch eine ganz andere Frage.

    Den Code habe ich noch nicht ausprobiert.

    Gruß,

    Sven
    7 Antworten
    4314 Aufrufe
    11. September 2010, 15:56:50 von jeboe
    2 Antworten
    2805 Aufrufe
    02. Juni 2011, 12:49:19 von nickelbine
    5 Antworten
    3502 Aufrufe
    02. April 2013, 19:37:41 von JZ_Aqua
    9 Antworten
    6207 Aufrufe
    01. Oktober 2010, 11:42:56 von Stef