Werbung / Banner buchen
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: Persönliche Anrede auch in den Passwort vergessen E-Mails

    syncmaster01

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Hallo Freunde....

    auf die Gefahr hin, das ich es übersehen habe... "Entschuldigung"  :lol1:

    Ich hätte gern auch in den "Passwort vergessen, "Double_opt" E-mails eine persönliche Anrede wie - Sehr geehrte r Frau/Herr ..., -

    Irgendwie bekomme ich das net hin.
    In der Suche habe ich speziell dazu leider nichts gefunden.
    Über eure Hilfe wäre ich euch dankbar.

    Gruß Jens

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

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #1 am: 02. September 2015, 08:53:51
    Suche in der password_double_opt.php nach folgenden Code:

    Code: PHP  [Auswählen]
    $check_customer_query = xtc_db_query("SELECT customers_email_address,
                                                   customers_id
                                              FROM "
    .TABLE_CUSTOMERS."
                                             WHERE customers_email_address = '"
    .xtc_db_input($_POST['email'])."'
                                               AND customers_status != "
    . DEFAULT_CUSTOMERS_STATUS_ID_GUEST);

    und ersetze ihn gegen diesen:

    Code: PHP  [Auswählen]
    $check_customer_query = xtc_db_query("SELECT customers_email_address, customers_firstname, customers_lastname, customers_gender,
                                                   customers_id
                                              FROM "
    .TABLE_CUSTOMERS."
                                             WHERE customers_email_address = '"
    .xtc_db_input($_POST['email'])."'
                                               AND customers_status != "
    . DEFAULT_CUSTOMERS_STATUS_ID_GUEST);

    Suche danach nach dieser Zeile:

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

    und füge darunter diesen Code ein:

    Code: PHP  [Auswählen]
      if ($check_customer['customers_gender']=='f') {
        $smarty->assign('GENDER', FEMALE);
      } elseif ($check_customer['customers_gender']=='m') {
        $smarty->assign('GENDER', MALE);
      } else {
        $smarty->assign('GENDER', '');
      }
      $smarty->assign('FIRSTNAME', $check_customer['customers_firstname']);
      $smarty->assign('LASTNAME', $check_customer['customers_lastname']);

    Suche dann nach diesem Code:

    Code: PHP  [Auswählen]
    $check_customer_query = xtc_db_query("select customers_id, customers_email_address, password_request_key from ".TABLE_CUSTOMERS." where customers_id = '".(int)$_GET['customers_id']."' and password_request_key = '".xtc_db_input($_GET['key'])."'");

    und ersetze ihn gegen diesen hier:

    Code: PHP  [Auswählen]
    $check_customer_query = xtc_db_query("select customers_id, customers_email_address, customers_firstname, customers_lastname, customers_gender, password_request_key from ".TABLE_CUSTOMERS." where customers_id = '".(int)$_GET['customers_id']."' and password_request_key = '".xtc_db_input($_GET['key'])."'");

    Suche dann nach dieser Zeile:

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

    und füge darunter diesen Code ein:

    Code: PHP  [Auswählen]
      if ($check_customer['customers_gender']=='f') {
        $smarty->assign('GENDER', FEMALE);
      } elseif ($check_customer['customers_gender']=='m') {
        $smarty->assign('GENDER', MALE);
      } else {
        $smarty->assign('GENDER', '');
      }
      $smarty->assign('FIRSTNAME', $check_customer['customers_firstname']);
      $smarty->assign('LASTNAME', $check_customer['customers_lastname']);

    Nun sollten dir in den Templatevorlagen password_verification_mail  und new_password_mail die Smarty-Variablen {$GENDER}, {$FIRSTNAME} und {$LASTNAME} zur Verfügung stehen.

    MfG Hetfield  8)

    syncmaster01

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #2 am: 02. September 2015, 11:43:01
    Hallo und herzlichen Dank für deine Arbeit.  :thx:

    ich habe das ganze problemlos eingebaut. Die Geschlechtsangaben funktionieren auch soweit, nur gibt er mir den Vor und Nachnamen nicht aus.
    Zitat
    Sehr geehrte Frau ,

    Code: PHP  [Auswählen]
    Sehr geehrte{if $content.MAIL_GENDER=='m'}r Herr{else} Frau{/if} {$FIRSTNAME} {$LASTNAME}

    Dazu auch noch meine password_double_opt.php
    Code: PHP  [Auswählen]
    require ('includes/application_top.php');

    // create smarty elements
    $smarty = new Smarty;

    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

    // include needed functions
    require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');
    require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
    require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
    require_once (DIR_FS_INC.'xtc_validate_password.inc.php');
    require_once (DIR_FS_INC.'xtc_rand.inc.php');
    $case = 'double_opt';
    $info_message = TEXT_PASSWORD_FORGOTTEN;
    if (isset ($_GET['action']) && ($_GET['action'] == 'first_opt_in')) {

            $check_customer_query = xtc_db_query("select customers_email_address, customers_id,customers_firstname, customers_lastname, customers_gender from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
            $check_customer = xtc_db_fetch_array($check_customer_query);

            $vlcode = xtc_random_charcode(32);
            $link = xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, 'action=verified&customers_id='.$check_customer['customers_id'].'&key='.$vlcode, 'NONSSL');

            // assign language to template for caching
            $smarty->assign('language', $_SESSION['language']);
            $smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
            $smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');

            // assign vars
            $smarty->assign('EMAIL', $check_customer['customers_email_address']);
            $smarty->assign('LINK', $link);
      //persönliche Anrede
      if ($check_customer['customers_gender']=='f') {
        $smarty->assign('GENDER', FEMALE);
      } elseif ($check_customer['customers_gender']=='m') {
        $smarty->assign('GENDER', MALE);
      } else {
        $smarty->assign('GENDER', '');
      }
      $smarty->assign('FIRSTNAME', $check_customer['customers_firstname']);
      $smarty->assign('LASTNAME', $check_customer['customers_lastname']);
           
      // dont allow cache
            $smarty->caching = false;

            // create mails
            $html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/password_verification_mail.html');
            $txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/password_verification_mail.txt');

      //BOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input
            //if ($_POST['vvcode'] == $_SESSION['vvcode']) {
            if (strtoupper($_POST['vvcode']) == $_SESSION['vvcode']) {
      //BOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input
                    if (!xtc_db_num_rows($check_customer_query)) {
                            $case = 'wrong_mail';
                            $info_message = TEXT_EMAIL_ERROR;
                    } else {
                            $case = 'first_opt_in';
                            xtc_db_query("update ".TABLE_CUSTOMERS." set password_request_key = '".$vlcode."' where customers_id = '".$check_customer['customers_id']."'");
                            xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $check_customer['customers_email_address'], '', '', EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', TEXT_EMAIL_PASSWORD_FORGOTTEN, $html_mail, $txt_mail);

                    }
            } else {
                    $case = 'code_error';
                    $info_message = TEXT_CODE_ERROR;
            }
    }

    // Verification
    if (isset ($_GET['action']) && ($_GET['action'] == 'verified')) {
            $check_customer_query = xtc_db_query("select customers_id, customers_email_address, customers_firstname, customers_lastname, customers_gender, password_request_key from ".TABLE_CUSTOMERS." where customers_id = '".(int)$_GET['customers_id']."' and password_request_key = '".xtc_db_input($_GET['key'])."'");
            $check_customer = xtc_db_fetch_array($check_customer_query);
            if (!xtc_db_num_rows($check_customer_query) || $_GET['key']=="") {

                    $case = 'no_account';
                    $info_message = TEXT_NO_ACCOUNT;
            } else {

                    $newpass = xtc_create_random_value(ENTRY_PASSWORD_MIN_LENGTH);
                    $crypted_password = xtc_encrypt_password($newpass);

                    xtc_db_query("update ".TABLE_CUSTOMERS." set customers_password = '".$crypted_password."' where customers_email_address = '".$check_customer['customers_email_address']."'");
                    xtc_db_query("update ".TABLE_CUSTOMERS." set password_request_key = '' where customers_id = '".$check_customer['customers_id']."'");
                    // assign language to template for caching
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
                    $smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');

                    // assign vars
                    $smarty->assign('EMAIL', $check_customer['customers_email_address']);
                    $smarty->assign('NEW_PASSWORD', $newpass);
        //persönliche Anrede
          if ($check_customer['customers_gender']=='f') {
        $smarty->assign('GENDER', FEMALE);
      } elseif ($check_customer['customers_gender']=='m') {
        $smarty->assign('GENDER', MALE);
      } else {
        $smarty->assign('GENDER', '');
      }
      $smarty->assign('FIRSTNAME', $check_customer['customers_firstname']);
      $smarty->assign('LASTNAME', $check_customer['customers_lastname']);
     
                    // dont allow cache
                    $smarty->caching = false;
                    // create mails
                    $html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/new_password_mail.html');
                    $txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/new_password_mail.txt');

                    xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $check_customer['customers_email_address'], '', '', EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', TEXT_EMAIL_PASSWORD_NEW_PASSWORD, $html_mail, $txt_mail);
                    if (!isset ($mail_error)) {
                            xtc_redirect(xtc_href_link(FILENAME_LOGIN, 'info_message='.urlencode(TEXT_PASSWORD_SENT), 'SSL', true, false));
                    }
            }
    }

    $breadcrumb->add(NAVBAR_TITLE_PASSWORD_DOUBLE_OPT, xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, '', 'NONSSL'));

    require (DIR_WS_INCLUDES.'header.php');

    switch ($case) {
            case 'first_opt_in' :
                    $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
                    $smarty->assign('info_message', $info_message);
                    $smarty->assign('info_message', TEXT_LINK_MAIL_SENDED);
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->caching = 0;
                    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_messages.html');
                    break;
                   
            case 'second_opt_in' :
                    $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
                    $smarty->assign('info_message', $info_message);
                    //    $smarty->assign('info_message', TEXT_PASSWORD_MAIL_SENDED);
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->caching = 0;
                    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_messages.html');
                    break;

            case 'code_error' :
                    //BUGFIX 24.04.2009 - JUNG/GESTALTEN.com - BUGFIX: #0000241 password recovery bug in IE
                    //$smarty->assign('VVIMG', '<img src="'.FILENAME_DISPLAY_VVCODES.'">');
                    //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
                    //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
                    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
                    //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
                    $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
                    $smarty->assign('info_message', $info_message);
                    $smarty->assign('message', TEXT_PASSWORD_FORGOTTEN);
                    $smarty->assign('SHOP_NAME', STORE_NAME);
                    $smarty->assign('FORM_ACTION', xtc_draw_form('sign', xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, 'action=first_opt_in', 'SSL')));
                    $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', xtc_db_input($_POST['email'])));
                    // BOF - DokuMan - 2009-05-29 - typo fixed, specify type
                    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlenght="6"', false, '', false));
                    // BOF - Tomcraft - 2010-01-24 - unified the captcha field size.
                    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlength="6"', 'text', '', false));
                    $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', '', false));
                    // EOF - Tomcraft - 2010-01-24 - unified the captcha field size.
                    // BOF - DokuMan - 2009-05-29 - typo fixed, specify type
                    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_send.gif', IMAGE_BUTTON_LOGIN));
                    // BOF - web28 - 2010-05-23 - FIX missing form end
                    $smarty->assign('FORM_END', '</form>');
                    //EOF - web28 - 2010-05-23 - FIX missing form end
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->caching = 0;
                    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_double_opt_in.html');
                    break;

            case 'wrong_mail' :
                    //BUGFIX 24.04.2009 - JUNG/GESTALTEN.com
                    //$smarty->assign('VVIMG', '<img src="'.FILENAME_DISPLAY_VVCODES.'">');
                    //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
                    //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
                    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
                    //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
                    $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
                    $smarty->assign('info_message', $info_message);
                    $smarty->assign('message', TEXT_PASSWORD_FORGOTTEN);
                    $smarty->assign('SHOP_NAME', STORE_NAME);
                    $smarty->assign('FORM_ACTION', xtc_draw_form('sign', xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, 'action=first_opt_in', 'SSL')));
                    $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', xtc_db_input($_POST['email'])));
                    // BOF - DokuMan - 2009-05-29 - typo fixed, specify type
                    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlenght="6"', false, '', false));
                    // BOF - Tomcraft - 2010-01-24 - unified the captcha field size.
                    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlength="6"', 'text', '', false));
                    $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', '', false));
                    // EOF - Tomcraft - 2010-01-24 - unified the captcha field size.
                    // BOF - DokuMan - 2009-05-29 - typo fixed, specify type       
                    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_send.gif', IMAGE_BUTTON_LOGIN));
                    // BOF - web28 - 2010-05-23 - FIX missing form end
                    $smarty->assign('FORM_END', '</form>');
                    //EOF - web28 - 2010-05-23 - FIX missing form end
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->caching = 0;
                    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_double_opt_in.html');
                    break;

            case 'no_account' :
                    $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
                    $smarty->assign('info_message', $info_message);
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->caching = 0;
                    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_messages.html');
                    break;

            case 'double_opt' :
                    //BUGFIX 24.04.2009 - JUNG/GESTALTEN.com
                    //$smarty->assign('VVIMG', '<img src="'.FILENAME_DISPLAY_VVCODES.'">');
                    //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
                    //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
                    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
                    //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
                    $smarty->assign('text_heading', HEADING_PASSWORD_FORGOTTEN);
                    //    $smarty->assign('info_message', $info_message);
                    $smarty->assign('message', TEXT_PASSWORD_FORGOTTEN);
                    $smarty->assign('SHOP_NAME', STORE_NAME);
                    $smarty->assign('FORM_ACTION', xtc_draw_form('sign', xtc_href_link(FILENAME_PASSWORD_DOUBLE_OPT, 'action=first_opt_in', 'SSL')));
                    $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', xtc_db_input($_POST['email'])));
                    // BOF - DokuMan - 2009-05-29 - typo fixed, specify type
                    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlenght="6"', false, '', false));
                    // BOF - Tomcraft - 2010-01-24 - unified the captcha field size.
                    //$smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="6" maxlength="6"', 'text', '', false));
                    $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', '', false));
                    // EOF - Tomcraft - 2010-01-24 - unified the captcha field size.
                    // BOF - DokuMan - 2009-05-29 - typo fixed, specify type
                    $smarty->assign('BUTTON_SEND', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_LOGIN));
                    $smarty->assign('FORM_END', '</form>');
                    $smarty->assign('language', $_SESSION['language']);
                    $smarty->caching = 0;
                    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/password_double_opt_in.html');
                    break;
    }

    $smarty->assign('main_content', $main_content);
    $smarty->assign('language', $_SESSION['language']);
    $smarty->caching = 0;
    if (!defined(RM))
            $smarty->load_filter('output', 'note');
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');
    ?>

     

    Was mache ich falsch bzw was läuft hier falsch....  :morning:

    Gruß Jens

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #3 am: 02. September 2015, 12:27:00
    Hast Du auch die korrekten Templatevorlagen (password_verification_mail.html, password_verification_mail.txt, new_password_mail.html und new_password_mail.txt bearbeitet und den auch Templatecache geleert? Im Template muss es ungefähr so aussehen:

    Code: PHP  [Auswählen]
    Sehr geehrte{if $GENDER == $smarty.const.MALE && $LASTNAME != ''}r Herr {elseif $GENDER == $smarty.const.FEMALE && $LASTNAME != ''} Frau {else} Kundin, sehr geehrter Kunde {/if}{if $LASTNAME != ''}{$FIRSTNAME} {$LASTNAME}{/if}

    Auch die Anreden funktionieren bei Dir nicht, denn es trifft nur diese Bedingung
    Code: PHP  [Auswählen]
    {if $content.MAIL_GENDER =='m'}
    nicht zu (es muss {$GENDER} und nicht {$content.MAIL_GENDER} heissen) und deshalb steht auf jden Fall Frau als Ausgabe dort.

    MfG Hetfield  8)

    syncmaster01

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #4 am: 03. September 2015, 09:58:09
    Hallöle,

    danke noch einemal für die Lösungshilfe.  :thx:
    Ich finde ohnehin, das nahezu alle versendeten Email (außer Newsletter) persönliche Anreden haben sollten.
    Vielleicht wird das ja in Zukunft zum Standard bei modified.  :thumbs:

    Hier nun kurz meine Lösung welche jetzt auch recht gut funzt.

    password_double_opt.php
    Suchen nach -bei mir Zeile 43:
    Code: PHP  [Auswählen]
       $check_customer_query = xtc_db_query("select customers_email_address, customers_id from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
     

    ersetzt mit:
    Code: PHP  [Auswählen]
       $check_customer_query = xtc_db_query("select customers_email_address, customers_id,customers_firstname, customers_lastname, customers_gender from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($_POST['email'])."'");
     

    Suchen nach - bei mir in Zeile 56:
    Code: PHP  [Auswählen]
    $smarty->assign('LINK', $link);

    Darunter eingefügt:
    Code: PHP  [Auswählen]
      if ($check_customer['customers_gender']=='f') {
        $smarty->assign('GENDER', FEMALE);
      } elseif ($check_customer['customers_gender']=='m') {
        $smarty->assign('GENDER', MALE);
      } else {
        $smarty->assign('GENDER', '');
      }
      $smarty->assign('FIRSTNAME', $check_customer['customers_firstname']);
      $smarty->assign('LASTNAME', $check_customer['customers_lastname']);
     

    weiter

    Suchen nach -bei mir Zeile 96:
    Code: PHP  [Auswählen]
       $check_customer_query = xtc_db_query("select customers_id, customers_email_address, password_request_key from ".TABLE_CUSTOMERS." where customers_id = '".(int)$_GET['customers_id']."' and password_request_key = '".xtc_db_input($_GET['key'])."'");
     

    ersetzt mit:
    Code: PHP  [Auswählen]
       $check_customer_query = xtc_db_query("select customers_id, customers_email_address, customers_firstname, customers_lastname, customers_gender, password_request_key from ".TABLE_CUSTOMERS." where customers_id = '".(int)$_GET['customers_id']."' and password_request_key = '".xtc_db_input($_GET['key'])."'");
     

    Suchen nach - bei mir in Zeile 56:
    Code: PHP  [Auswählen]
    $smarty->assign('NEW_PASSWORD', $newpass);

    Darunter eingefügt:
    Code: PHP  [Auswählen]
          if ($check_customer['customers_gender']=='f') {
        $smarty->assign('GENDER', FEMALE);
      } elseif ($check_customer['customers_gender']=='m') {
        $smarty->assign('GENDER', MALE);
      } else {
        $smarty->assign('GENDER', '');
      }
      $smarty->assign('FIRSTNAME', $check_customer['customers_firstname']);
      $smarty->assign('LASTNAME', $check_customer['customers_lastname']);
     

    Und dann ab in die Templatevorlagen
    /templates/Euer Template/mail/

    password_verification_mail.html
    password_verification_mail.txt
    new_password_mail.html
    new_password_mail.txt

    Code: PHP  [Auswählen]
    Sehr geehrte{if $GENDER == $smarty.const.MALE && $LASTNAME != ''}r Herr {elseif $GENDER == $smarty.const.FEMALE && $LASTNAME != ''} Frau {else} Kundin, sehr geehrter Kunde {/if}{if $LASTNAME != ''}{$FIRSTNAME} {$LASTNAME}{/if},

    Vielleicht brauch das ja jemand hier  8)

    Gruß Jens

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #5 am: 03. September 2015, 10:02:30
    Bei deinem Code in den Templatevorlagen wirst Du immer Frau als Anrede erhalten! In den Templatevorlagen muss es so heissen:

    Code: PHP  [Auswählen]
    Sehr geehrte{if $GENDER == $smarty.const.MALE && $LASTNAME != ''}r Herr {elseif $GENDER == $smarty.const.FEMALE && $LASTNAME != ''} Frau {else} Kundin, sehr geehrter Kunde {/if}{if $LASTNAME != ''}{$FIRSTNAME} {$LASTNAME}{/if}

    Begründung siehe hier:

    Auch die Anreden funktionieren bei Dir nicht, denn es trifft nur diese Bedingung
    Code: PHP  [Auswählen]
    {if $content.MAIL_GENDER =='m'}
    nicht zu (es muss {$GENDER} und nicht {$content.MAIL_GENDER} heissen) und deshalb steht auf jden Fall Frau als Ausgabe dort.

    MfG Hetfield  8)

    syncmaster01

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #6 am: 03. September 2015, 11:21:24
    Hallo,

    oh mann  :datz:  :wohow:
    Vor lauter offenen Fenstern und seitenweise E-Mail Code habe ich natürlich den falschen Code kopiert.

    Hier nun der richtige:
    Code: PHP  [Auswählen]
    Sehr geehrte{if $GENDER=='MALE'}r Herr{else} Frau{/if} {$FIRSTNAME} {$LASTNAME},

    Könntest du meinen Blödsinn bitte ersetzen (geht das?)  :flee-mrgreen:

    Gruß Jens

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #7 am: 03. September 2015, 12:06:36
    Ich habe deinen Post oben korrigiert, aber Du hast es immer noch falsch.

    Code: PHP  [Auswählen]
    {if $GENDER=='MALE'}

    Diese Abfrage wird immer false sein, denn in {$GENDER} steht nicht MALE. Ich weiss nicht, warum Du Dich gegen die korrekte Abfrage von mir wehrst.  :nixweiss: Sie hat sogar einen kleinen Fallback drin, falls {$GENDER} nicht stimmt und {$LASTNAME} leer sein sollten, damit Du wenigstens in dem Fall eine Standardanrede drin hast.

    MfG Hetfield  8)

    syncmaster01

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #8 am: 03. September 2015, 14:26:04
    Zitat
    Ich habe deinen Post oben korrigiert, aber Du hast es immer noch falsch.
    Diese Abfrage wird immer false sein, denn in {$GENDER} steht nicht MALE.

    Stimmt so nicht...

    Schau dir den kleinen, feinen Unterschied im Code von dir und mir an. Und das gute es funzt auch noch.
    Deiner:
    Code: PHP  [Auswählen]
        $smarty->assign('GENDER', FEMALE);
        $smarty->assign('GENDER', MALE);
     

    Meiner
    Code: PHP  [Auswählen]
        $smarty->assign('GENDER', 'FEMALE');
        $smarty->assign('GENDER', 'MALE');
     

    Zitat
    Sie hat sogar einen kleinen Fallback drin, falls {$GENDER} nicht stimmt und {$LASTNAME} leer sein sollten
    Wann sollte mal der "LASTNAME" leer sein???

    Zitat
    Ich weiss nicht, warum Du Dich gegen die korrekte Abfrage von mir wehrst.
    Mach ich nicht, bin froh über jede Hilfe  :whistle:

    Gruß Jens

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #9 am: 03. September 2015, 14:51:17
    Der Fallback ist z.B. dazu da, falls du die Templatevorlagen in einem Shop verwendest, der diese Anpassung nicht besitzt oder wenn bei einem Update deine Änderungen an der password_double_opt.php verloren gehen usw.

    Den feinen Unterschied habe ich dann ebenfalls in deinem Post korrigiert, damit nicht jemand eine fehlerhafte Anleitung benutzt.

    MfG Hetfield  8)

    svenyo

    • Mitglied
    • Beiträge: 211
    Re: Persönliche Anrede auch in den Passwort vergessen E-Mails
    Antwort #10 am: 09. September 2021, 18:41:09
    Hallo,

    ich wollte das gerade in unserem Shop einbauen (Version 2.0.5.1-rev12725).
    Leider hat sich dort am Ursprünglichen Quellcode geändert.
    Kann mit jemand helfen, wo ich es dort einbauen muss?

    Gruß,
    svenyo