isotope / core

Core repository of Isotope eCommerce, an eCommerce extension for Contao Open Source CMS
https://isotopeecommerce.org
136 stars 107 forks source link

Zeilenumbruch nach ShortTag wird entfernt #878

Closed volkerrichert closed 10 years ago

volkerrichert commented 10 years ago

Wenn ich in einer Mailvorlage ein Isotope-ShortTag einfüge und dahinter direkt ein "\n" habe, dann wird das beim Versenden entfernt. Ist ja bei HTML kein Problem im Text aber schon.

Beispiel:

Zahlweise: ##payment_method##

payment_note_text

Bestellungsübersicht: Bestellnummer: ##order_id##

Versand: ##shipping_method

Ergebnis:

Zahlweise: RechnungSie erhalten mit der Ware eine Rechnung. Diese begleichen Sie bitte unter Angabe der Rechnungsnummer auf das folgende Konto:XXX Bestellungsübersicht: Bestellnummer: WWW-0004Versand: DHL----

Wenn ich hinter den ShortTags noch ein Leerzeichen einbaue geht es.

volkerrichert commented 10 years ago

Ach ja, bezieht sich auf die 1.4.7

netzarbeiter commented 10 years ago

Versuche es mal so:

Zahlweise: ##payment_method##

payment_note_text

Toflar commented 10 years ago

Ich denke das ist generell bei den Tokens so. Hat also nichts mit Isotope zu tun, sondern mit Contao :)

volkerrichert commented 10 years ago

Ja, 2x \n in der Vorlage geht natürlich und wie gesagt: " " dahinter hilft auch. Aber beides ist nicht wirklich gut. Auch wenn es bei Contao auch so sein sollte, das liefert HTML (-> \n egal) und in der Mail steht Text. Da ist das halt nicht egal.

Ich wenn ich ein Template "layout", dann möchte man das auch so sehen.

Toflar commented 10 years ago

Auch wenn es bei Contao auch so sein sollte, das liefert HTML (-> \n egal) und in der Mail steht Text. Da ist das halt nicht egal.

Ich sag nur, wenn es bei Contao so sein sollte, kann ich dir nicht helfen weil das Ersetzen von Simple Tokens Contao macht :)

volkerrichert commented 10 years ago

Und wenn Contao das sein sollte, dann habe ich auch kein Problem damit das Leo zu sagen ;-)

Toflar commented 10 years ago

Richtig, du müsstest es aber testen, ob es so ist ;)

volkerrichert commented 10 years ago

Habe ich gerade vor. :-) Trotzdem: Danke für dieses tolle ShopModul!

aschempp commented 10 years ago

Das ist ein generelles Problem von Contao bzw. PHP. Auch wenn du in einem Template sowas machst, hast du dasselbe Problem:

test
<?php echo 'test'; ?>
test

test testtest

netzarbeiter commented 10 years ago

… und wenn du meinen Vorschlag von oben anwenden würdest, kämmst du auch ohne Ticket zum Ziel.

volkerrichert commented 10 years ago

hey!

Das stimmt nicht.

Im fe_page ein kurzer Test: <body id="top" class="{{ua::class}}....> {{ua::class}} <div id="wrapper">

wird zu:

<body id="top" class="unix firefox fx26"> unix firefox fx26 <div id="wrapper">

Da stimmt also alles.

volkerrichert commented 10 years ago

@netzarbeiter Ich habe nicht gesagt, dass man das nicht umgehen kann. Habe ja selbst einen Weg beschrieben. Aber Probleme soll man lösen nicht umgehen, wenn möglich.

aschempp commented 10 years ago

http://stackoverflow.com/questions/1908175/is-there-a-way-to-force-a-new-line-after-php-closing-tag-when-embedded-among

volkerrichert commented 10 years ago

ok. ich habe den Grund gefunden:

parseSimpleTokens in Controller.php aus dem CTO-Core.

    // Replace tokens
    $strReturn = str_replace('?><br />', '?>', $strReturn);
    $strReturn = preg_replace('/##([A-Za-z0-9_]+)##/i', '<?php echo $arrData[\'$1\']; ?>', $strReturn);

Und den Grund warum da
entfernt werden verstehe ich nicht. Vlt kann mir das einer begründen.

aschempp commented 10 years ago

Siehe mein Link oben, da steht die Begründung.

volkerrichert commented 10 years ago

Das erklärt mein fehlendes "\n", aber nicht wieso Contao auch noch ein "
" entfernt. Aber sei es drum. Es ist so und wird einen Grund haben. Damit kann ich leben!

Danke!