Seite 1 von 1

Newsletter: Automatisches Einbinden eines Links zum Artikel

Verfasst: Fr 24. Feb 2012, 14:17
von Spider IT
Hallo,

ich habe die Klassen class.newsletter.php und class.newsletter.jobs.php nochmals erweitert.
Diese Erweiterung erzeugt in den HTML-Newslettern oben einen Link "Sollte der Newsletter nicht richtig angezeigt werden, klicken Sie bitte hier".

Der Link wird beim Versenden des Newsletters eingesetzt, da er sonst beim Artikel auch da wäre.

Änderungen:

Code: Alles auswählen

/* Spider IT Deutschland :: Link to online article --> */
            if (!is_object($db)) {
                $db = new DB_Contenido;
            }
            $sql = 'SELECT idart
                    FROM ' . $cfg['tab']['news'] . '
                    WHERE (idnews=' . $this->get('idnews') . ')';
            $db->query($sql);
            $db->next_record();
            $news_idart = $db->f('idart');
            $link = Contenido_Url::getInstance()->build(array('idart' => $news_idart, 'client' => $client, 'lang' => $lang), true);
            $p1 = strpos($sMessageHTML, '<body');
            if ($p1 !== false) {
                $p1 = (strpos($sMessageHTML, '>', $p1) + 1);
            } else {
                $p1 = 0;
            }
            $sMessageHTML = substr($sMessageHTML, 0, $p1) . '<div style="text-align: center; background-color: #FFF;">Sollte der Newsletter nicht richtig angezeigt werden, klicken Sie bitte <a href="' . $link . '" style="font-weight: bold;">hier</a></div>' . substr($sMessageHTML, $p1);
/* Spider IT Deutschland :: <-- Link to online article */
Eingebaut an den folgenden Positionen in den angehängten Dateien:
  • class.newsletter.php Zeile 729
  • class.newsletter.php Zeile 999 (Achtung, nicht $sMessageHTML, sondern $sRcpMsgHTML)
  • class.newsletter.jobs.php Zeile 363
Achtung!
Diese Dateien enthalten auch die Erweiterung um den Mailer konfigurieren zu können (siehe viewtopic.php?f=36&t=31584).

Vielleicht passt das noch für die kommende 4.9 ;)

Gruß
René

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Di 28. Feb 2012, 10:18
von dominik.ziegler
Vielen Dank für den Change Request.
An sich ist das eine gute Idee, ich würde es aber besser finden, wenn wir das als ersetzbare Variable integrieren, damit jeder Benutzer selbst entscheiden kann, wie der Linktext lautet. Außerdem können so auch anderssprachige Newsletter mit einer entsprechend übersetzten Variante arbeiten.

Zudem ist evtl. dieses Feature manchmal nicht gewünscht (wenn zum Beispiel nicht vorgesehen ist, dass so ein Link publiziert wird). Der Benutzer könnte dann nicht selbst entscheiden, ob er das Feature nutzen möchte oder nicht. Mit der Variablen lässt man dem Nutzer hier mehr Freiheiten.

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Di 28. Feb 2012, 10:56
von Spider IT
Eine ersetzbare Variable würde aber bedeuten, dass der Link im Artikel enthalten ist.
Deine Bedenken zum direkten Einbau sind berechtigt, aber wir sollten eher eine Möglichkeit finden, über Switches (z.B. Mandanteneinstellungen) den link on/off zu schalten und den Text einzustellen.
Ich weiß nur noch nicht, wie wir das dann mit der Mehrsprachigkeit lösen können, aber dazu fällt mir schon noch was ein :)

Gruß
René

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Di 28. Feb 2012, 11:37
von dominik.ziegler
Ich hatte es so interpretiert, dass man sich den Artikel noch einmal im Web anschauen kann, falls man Darstellungsprobleme im Mail-Programm hat. Aber selbst dann würde man ja zumindest einen Teil des Artikels lesen können.

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Di 28. Feb 2012, 11:44
von Spider IT
Ist alles richtig, nur wenn der Link im Artikel enthalten ist, wird er bei der Betrachtung auf der Seite auch wieder mit angezeigt.

Gruß
René

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Mi 29. Feb 2012, 11:32
von idea-tec
Und wenn man es über CSS löst?

Im Artikel in ein div welches man unsichtbar/hidden deklariert?
Im Newsletter in einen div/bereich der sichtbar ist

edit: tippfehler

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Mi 29. Feb 2012, 11:59
von Spider IT
Möglich.
Obwohl, der CSS-Code muss beim Newsletter im HTML enthalten sein, das ist er dann auch im Artikel selbst.
Dann müsste also im "normalen" Stylesheet der Seite eine Angabe mit "!important" eingesetzt sein.
Ob das dann bei Inline-CSS noch wirkt weiß ich nicht (inline-css ist gerade für Online-Mailclients wichtig, am schlimmsten ist da T-Offline).
Alles in allem, gerade für Anfänger nicht praktikabel.

Gruß
René

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Fr 2. Mär 2012, 15:25
von Spider IT
Wie wäre es denn, wenn bei den Sprachen auch Einstellungen hinterlegt werden könnten?
Dann könnte man da eine Einstellung im Sinne von:
Typ: newsletter
Name: online-link
Wert: Sollte der Newsletter nicht richtig dargestellt werden, klicken Sie bitte <a href="MAIL_ONLINE_LINK">hier</a>.

für die deutsche Sprache anlegen (andere Sprachen mit entsprechendem Text-Teil).
Diese Einstellung müsste dann auf Wunsch (Mandanteneinstellung) in den Newsletter als oberste Zeile eingefügt werden:
Typ: newsletter
Name: online-link
Wert: true


Gruß
René

Re: Newsletter: Automatisches Einbinden eines Links zum Arti

Verfasst: Fr 16. Nov 2012, 22:46
von rethus
Ich finde deinen Vorschlag top. Bin auch dafür, dass es so aufgenommen wird.
Hatte gerade heute exact den gleichen Fall. Da hat dein kleines Script mir gut geholfen.

Ein wirkliches Must-Have für den Newsletter-Versand!