Leider gibt's dafür derweil noch keinen entsprechendes "Newsletter-Tag", welches beim Versand automatisch ersetzt wird - hab mir wie folgt Abhilfe verschafft:
Contenido ohne ModRewrite:
Wenn Du Contenido ohne ModRewrite betreibst, erstelle einfach ein Modul mit dem Namen "Newsletter Artikellink". In das Feld "Ausgabe" kopierst Du folgenden Code. Anschließend musst Du das Modul natürlich noch an die gewünschte Stelle, ins HTML-Newsletter-Template platzieren.
Code: Alles auswählen
<?php
if (!$bBrowser) {
$oTemplate = new Template();
$sLinkHref = $cfgClient[$client]["path"]["htmlpath"] . "front_content.php?idartlang=" . $idartlang . "&bBrowser=true";
$sLinkTitle = mi18n("Diesen Newsletter im Browser anzeigen...");
$sLinkText = mi18n("Sollte der Newsletter nicht korrekt angezeigt werden, klicken Sie bitte hier...");
$oTemplate->set("s","HREF",$sLinkHref);
$oTemplate->set("s","TITLE",$sLinkTitle);
$oTemplate->set("s","TEXT",$sLinkText);
$oTemplate->generate("templates/newsletter_artikellink.html");
}
?>
Jetzt noch ein neues Modul-Template mit der Bezeichnung "newsletter_artikellink.html" erstellen und folgenden Inhalt einfügen, eventuell anpassen und abspeichern:
Code: Alles auswählen
<p align="center"><a href="{HREF}" title="{TITLE}">{TEXT}</a></p>
Contenido mit ModRewrite:
Solltest Du mit ModRewrite arbeiten sieht datt Modul "Newsletter Artikellink" wie folgt aus, wobei Du das URL-Format ($sLinkHref) noch eventuell Deiner Schreibweise anpassen musst.
Code: Alles auswählen
<?php
if (!$bBrowser) {
$oTemplate = new Template();
$sLinkHref = $cfgClient[$client]["path"]["htmlpath"] . "newsletter_" . $idartlang. ".html";
$sLinkTitle = mi18n("Diesen Newsletter im Browser anzeigen...");
$sLinkText = mi18n("Sollte der Newsletter nicht korrekt angezeigt werden, klicken Sie bitte hier...");
$oTemplate->set("s","HREF",$sLinkHref);
$oTemplate->set("s","TITLE",$sLinkTitle);
$oTemplate->set("s","TEXT",$sLinkText);
$oTemplate->generate("templates/newsletter_artikellink.html");
}
?>
Das Modul-Template wie oben beschrieben erstellen, jetzt noch in der ".htaccess" Datei im Ordner "cms/" folgede Zeilen ergänzen:
Sofern noch nicht vorhanden:
und äquivalent zum verwendeten URL-Format im Modul "Newsletter Artikellink":
Code: Alles auswählen
RewriteRule ^newsletter_(.*).html$ front_content.php?idartlang=$1&bBrowser=true
So weit, so gut... der Artikellink wird bei der Darstellung im Browser übrigens nicht angezeigt. Genau das, müssen wir in der Browser-Darstellung noch mit den anderen Tags (Abmelden, Paussieren...) erreichen, da diese vom Newsletter-Script beim Versenden ersetzt werden, im Contenido-Artikel jedoch weiterhin die Tags stehen, da dieser ja vielmehr als Schablone bzw. Template für den Newsletter dient. Mein Lösungsweg ist derweil folgender: Ich verzichte auf die "direkte" Verwendung der Tags beim Erzeugen eines HTML-Newsletter... beim Textformat können sie weiterhin genutzt werden. Stattdessen habe ich mir ein weiters Modul erstellt und in HTML-Newsletter-Template eingebunden, welches die gewünschten Tags nur dann ausgibt, wenn der Newsletter vom Newsletter-Script erzeugt wird, nicht aber bei der Browser-Darstellung - wie oben beim Artikellink. Erstelle also einfach ein weiteres Modul "Newsletter RcpActions", füge folgenden Code im Ausgabe-Bereich ein, passe es Deinen Wünschen an, speichere ab und binde das Modul an der gewünschten Stelle im HTML-Newsletter-Template ein.
Code: Alles auswählen
<?php
if (!$bBrowser) {
echo '[mail name="stop" type="link" text="PAUSIEREN"]MAIL_STOP[/mail] | [mail name="goon" type="link" text="WIEDER AUFNEHMEN"]MAIL_GOON[/mail] | [mail name="unsubscribe" type="link" text="ABMELDEN"]MAIL_UNSUBSCRIBE[/mail]';
}
?>
Nun werden die Links zum Abmelden etc. nur noch in der eMail, nicht aber in der Browser-Darstellung angezeigt.
Frage an HerrB:
Wäre es möglich, dem oben erzeugten Artikellink zum Newsletter-Artikel, die eMail-Adresse oder den Hash des Empfängers beizufügen.... dann würden die Pausierungs, Wiederaufnahme- und Abmelde-Links mit einer kleinen Modifikation des "Newsletter RcpActions" auch im externen Browser funzen?!