Modify

Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#1185 closed Bug/Fehler (fixed)

nl2br() fehlt bei comments in order_mail.html u. order_mail_step.html

Reported by: noRiddle Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.3.0
Component: Shop Version: 2.0.2.2
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by Torsten Riemer)

In den Mail-Vorlagen order_mail.html u. order_mail_step.html sollte man diesen Code

<font size="2" face="Tahoma, Verdana, sans-serif">{$COMMENTS}</font>

ändern in

<font size="2" face="Tahoma, Verdana, sans-serif">{$COMMENTS|nl2br}</font>

damit die Anmerkungen des Kunden nicht ohne Zeilenumbrüche und aneinander geklebt in der Mail ankommen.

Gruß,
noRiddle

Attachments (0)

Change History (8)

comment:1 by Torsten Riemer, 9 years ago

Component: AdminShop
Description: modified (diff)
Milestone: modified-shop-2.0.2.3
Version: 2.0.2.2

comment:2 by Torsten Riemer, 9 years ago

Ist es nicht einfacher die send_order.php zu modifizieren anstelle des Templates?

Suche:

$smarty->assign('COMMENTS', $order->info['comments']);

Ersetze mit:

$smarty->assign('COMMENTS', nl2br($order->info['comments']));

Einziger Nachteil ist dann, dass bei reinen Textmails zusätzliche Zeilenumbrüche im Kommentar erscheinen. Dafür habe ich noch keine Lösung finden können.

comment:3 by anonymous, 9 years ago

Fast genau wegen deines letzten Satzes habe ich vorgeschlagen es im Template zu machen.
Die <br /> gehören ja nicht in Textmails, da muß es \n (bzw. LF) bleiben.

Gruß,
noRiddle

comment:4 by Torsten Riemer, 9 years ago

Es bleibt dort ja auch \n und wird nicht als <br /> in die E-Mails geschrieben.

Das Problem ist nur, dass eben zusätzliche Zeilenumbrüche in den Kommentaren entstehen.

Aus (Genau so steht es auch in der Datenbank in in der Tabelle "orders" in Spalte "orders_comments"):

Zeile 1
Zeile 2
Zeile 3

Wird dann (obwohl es keine <br /> gibt, die zu ersetzen wären):

Zeile 1

Zeile 2

Zeile 3

Wenn wir dafür noch eine Lösung finden wäre das die bessere Alternative gegenüber der Änderung im Template, wie ich finde.

Das Problem ist hier folgendes in der "/inc/xtc_php_mail.inc.php":

  // decode html2txt
  $html_array = array('<br />', '<br/>', '<br>');
  $txt_array = array(" \n", " \n", " \n");
  $message_body_plain = str_replace($html_array, $txt_array, $message_body_plain.$txt_signatur);//DPW Signatur erg‰nzt.
  
  // remove html tags
  $message_body_plain = strip_tags($message_body_plain);
  $message_body_plain = html_entity_decode($message_body_plain, ENT_NOQUOTES, $lang_data['language_charset']);

  if (EMAIL_USE_HTML == 'true') { // set email format to HTML
    $mail->IsHTML(true);
    $mail->Body = $message_body_html.$html_signatur;//DPW Signatur erg‰nzt.
    $mail->AltBody = $message_body_plain;
  } else {
    $mail->IsHTML(false);
    $mail->Body = $message_body_plain;
  }

Wenn man oben die Ersetzungsarrays leer lässt, dann passt es zwar für die Kommentare, aber dann werden die AGB und das Widerrufformular hintereinander ohne Zeilenumbrüche geschrieben.

Die Texte aus dem Content Manager werden ja mit HTML Umbrüchen <br /> in die Datenbank geschrieben, während die Kommentare der Bestellung als reiner Text in die Datenbank gelangen. Ich frage mich woher die zusätzlichen Umbrüche in den Text-Mails kommen, wenn der Text aus der Spalte "orders_comments" keine <br /> enthält.

comment:5 by Ronald Parcinski, 9 years ago

Siehe auch Ticket #1113.

Es fehlt uns ein html2txt Konverter

Es gibt diverse Projekte auf Github z.B.

https://github.com/mtibben/html2text

https://github.com/soundasleep/html2text

Last edited 9 years ago by Torsten Riemer (previous) (diff)

comment:6 by Torsten Riemer, 9 years ago

Wobei der zweite Link zu GitHub wohl das deutlich aktivere Projekt zeigt.

comment:7 by Gerhard Waldemair, 9 years ago

Resolution: fixed
Status: newclosed

In 10773:

fix #1185

comment:8 by Torsten Riemer, 8 years ago

Reporter: changed from anonymous to noRiddle

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.