Newsletter - Wichtig
Newsletter - Wichtig
Hallo, ich habe einen alten Newsletter in Contenido übernommen. Dazu habe ich die Newsletteradressen in eine csv-Datei geschrieben und in die Datenbank importiert, hat auch super geklappt.
Jetzt kommt allerdings mein Problem: Bei der neuen Anmeldung von Newsletterempfänger wird nun eine "idnewsrcp" vergeben die allerdings schon verwendet wird (weil ich diese beim import verwendet habe). Wo steht diese Variable, damit ich diese anpassen kann?
Jetzt kommt allerdings mein Problem: Bei der neuen Anmeldung von Newsletterempfänger wird nun eine "idnewsrcp" vergeben die allerdings schon verwendet wird (weil ich diese beim import verwendet habe). Wo steht diese Variable, damit ich diese anpassen kann?
In der con_sequence. Einfach die höchste ID + 1 in der Tabelle eintragen.
Die Newsletter-Überarbeitung nutzt Du bereits (siehe Signatur)?
Gruß
HerrB
Die Newsletter-Überarbeitung nutzt Du bereits (siehe Signatur)?
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Super - danke für die schnelle Antwort, das war genau das was ich gesucht habe.
Die Überarbeitung benutze ich bereits, ich verwende den HTML-Newsletter funkioniert auch super gut.
Vielleicht noch eine Frage dazu, kann man die Variablen die man beim normalen Newsletter verwenden kann auch beim HTML-Newsletter verwenden? Im speziellen gehts mir um den direkten Link um sich vom Newsletter abzumelden.
Vielen Dank nochmals für die Hilfe
Die Überarbeitung benutze ich bereits, ich verwende den HTML-Newsletter funkioniert auch super gut.
Vielleicht noch eine Frage dazu, kann man die Variablen die man beim normalen Newsletter verwenden kann auch beim HTML-Newsletter verwenden? Im speziellen gehts mir um den direkten Link um sich vom Newsletter abzumelden.
Vielen Dank nochmals für die Hilfe
Grundsätzlich ja, aber die Frage ist, wo man die einbauen könnte. Das Modul HTMLNewsletter versendet ja nur eine Webseite.
Es bliebe eigentlich nur, auf der Webseite ein Element à la {Abmelden} einzubauen und dieses vor dem Senden zu ersetzen.
Der Link selbst ist (in der V4.4.x) so aufgebaut:
"<Pfad zum Frontend>"."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&unsubscribe=".md5($email)
(Beispiel Anmeldung, weitere Elemente sind in der include.newsletter_send.php enthalten)
In V4.5.x muss man sich zu jedem Empfänger neben der E-Mail auch den hash aus der DB holen.
Gruß
HerrB
Es bliebe eigentlich nur, auf der Webseite ein Element à la {Abmelden} einzubauen und dieses vor dem Senden zu ersetzen.
Der Link selbst ist (in der V4.4.x) so aufgebaut:
"<Pfad zum Frontend>"."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&unsubscribe=".md5($email)
(Beispiel Anmeldung, weitere Elemente sind in der include.newsletter_send.php enthalten)
In V4.5.x muss man sich zu jedem Empfänger neben der E-Mail auch den hash aus der DB holen.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Also ich habe jetzt eine Lösung gefunden, denke mir aber, dass diese nicht gerade die schönste ist - aber sie funktioniert. Ich habe dafür im Output des HTML-Newsletter einige Zeilen geändert:
Der Abmeldetext ganz oben ist der Text, welcher zu dem Link angezeigt wird. Dieser sowie der Abmeldelink selbst wird mit in Variable $hallo übergeben.
Dazu wird der fertige Newsletterinhalt um eine bestimmte Anzahl von Zeichen gekürzt, $hallo hinzugefügt und dann der Rest des Newsletterinhalt angehängt. Das ganz geht bei der Variable $neuout über die Bühne. Naja und das ist sicher nicht die einfachste und sauberste Lösung, aber sie funktioniert wie gesagt.
Wenn man dieses Modul nun bei einem anderen Newsletter einfügen möchte muss man allerdings bezüglich der 140 Zeichen die in diesem Modul zum Abschneiden des Endes gebraucht werden vorsichtig sein. Ich habe gesehen, dass ca. 85 Zeichen hinter dem </html> Tag noch stehen, die man dann im Newsletter nicht mehr sieht, diese braucht man daher wohl immer. Da ich in meinem Newsletter ein Tabellenlayout verwendet habe ergeben sich eben 140 Zeichen, damit der Abmeldelink in der richtigen zelle steht - da kann man allerdings nur ausprobieren
Code: Alles auswählen
<?php
// HTMLNewsletter v0.2
// (c) Maurer IT Systemlösungen
// Autor: Ing. Christian Schuller
// Date: 22.01.2004
// This is a good BETA Version, but there will be no guarantee for anything.
// If you find any BUGS, please use the forum (http://www.contenido.de/forum)
// or write me an email to christian@maurer-it.com
//Abmeldetext
$abmeldetext = "<br>Diesen Newsletter haben Sie erhalten, weil Ihre Emailadresse in unsere Mailingliste eingetragen wurde. Falls dies ohne Ihr Einverständnis erfolgt ist oder wenn Sie keine weiteren Newsletter erhalten möchten, klicken Sie bitte auf folgenden Link, um Ihre Emailadresse aus unserer Mailingliste auszutragen:";
// Konfiguration vars
$cfg_basedir = "moduls/HTMLNewsletter/";
$cfg_mail_subject = "CMS_VALUE[1]";
$cfg_mail_from = "CMS_VALUE[2]";
require($cfg_basedir."multipart_mime_mail.php");
if (!isset($noex))
{
if (!isset($send))
{
if ($edit==true)
echo "<a href='".$auth->url()."&send=1'>".i18n("Newsletter Senden")."</a>";
}
else
{
$file = $cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$idcat&idlang=$lang&idart=$idart&idclient=$client&noex=1";
$handle = @fopen ($file, "r") or die("wrong file:".$file);
$body = "";
while (!feof ($handle))
{
$body = $body.fgets($handle, 4096);
}
fclose ($handle);
// Do some magic things with url,links,and so on...
//$body = str_replace("src=\"","src=\"".$cfgClient[$client]['path']['htmlpath'],$body);
//$body = preg_replace('/href="([^h][^t][^t][^p][^:].*)"/','href="'.$cfgClient[$client]['path']['htmlpath'].'$1"',$body);
$body = preg_replace('/[sS[rR][cC][ ]*=[ ]*"([^h][^t][^t][^p][^:].*)"/','rc="'.$cfgClient[$client]['path']['htmlpath'].'$1"',$body);
$body = preg_replace('/[hH][rR][eE][fF][ ]*=[ ]*"([^h][^t][^t][^p][^:][A-Za-z0-9\.?\-=_&]*)"/','href="'.$cfgClient[$client]['path']['htmlpath'].'$1"',$body);
$body = preg_replace('/url\((.*)\)/','url('.$cfgClient[$client]['path']['htmlpath'].'$1)',$body);
//echo "-->".$body;
$message[1]['content_type'] = 'text/html; charset=de-ascii';
$message[1]['filename'] = '';
$message[1]['no_base64'] = TRUE;
$message[1]['data'] = $body;
$out = mp_new_message($message);
$db = new DB_Contenido;
$sql = "SELECT email FROM ".$cfg["tab"]["news_rcp"]." where idlang=".$lang." and idclient=".$client." and deactivated=0 and confirmed=1";
$db->query($sql);
while ($db->next_record())
{
$hallo = $abmeldetext." <a href='".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&unsubscribe=".md5($db->f("email"))."'>Emailadresse austragen</a></span><br><br>";
$neuout=substr($out[0],0,strlen($out[0])-140).$hallo.substr($out[0],strlen($out[0])-140);
mail(urldecode($db->f('email')), $cfg_mail_subject, $neuout, "From: ".$cfg_mail_from."\n".$out[1]);
}
}
}
?>
Dazu wird der fertige Newsletterinhalt um eine bestimmte Anzahl von Zeichen gekürzt, $hallo hinzugefügt und dann der Rest des Newsletterinhalt angehängt. Das ganz geht bei der Variable $neuout über die Bühne. Naja und das ist sicher nicht die einfachste und sauberste Lösung, aber sie funktioniert wie gesagt.
Wenn man dieses Modul nun bei einem anderen Newsletter einfügen möchte muss man allerdings bezüglich der 140 Zeichen die in diesem Modul zum Abschneiden des Endes gebraucht werden vorsichtig sein. Ich habe gesehen, dass ca. 85 Zeichen hinter dem </html> Tag noch stehen, die man dann im Newsletter nicht mehr sieht, diese braucht man daher wohl immer. Da ich in meinem Newsletter ein Tabellenlayout verwendet habe ergeben sich eben 140 Zeichen, damit der Abmeldelink in der richtigen zelle steht - da kann man allerdings nur ausprobieren
Zuletzt geändert von malsdgtac am Mi 23. Mär 2005, 13:07, insgesamt 1-mal geändert.
-
- Beiträge: 44
- Registriert: Mo 8. Nov 2004, 17:44
- Kontaktdaten:
-
- Beiträge: 44
- Registriert: Mo 8. Nov 2004, 17:44
- Kontaktdaten:
a) Bitte keine Anfrage via PM, wenn nicht ausdrücklich gewünschtstephanwilm hat geschrieben:Die Idee ist genial, nur bekomme ich bei mir contenido 4.4.4 folgende Fehlermeldung im Modul von Dir
Fehler in Modul. Fehlerquelle: eval()'d code on line 3 <br />
Ohne die Änderung funktioniert alles supergenial!
Hast Du eine Ahnung, was dass sein könnte?
Vielen Dank
b) Ich bin weder Autor des Moduls noch der Erweiterung von smac
c) Beschreibe genau, was Du wo gemacht hast. Funktioniert das Modul bei Dir ohne die Änderung von smac?
Line 3 wäre so ziemlich die erste Zeile des Output-Bereichs...
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
-
- Beiträge: 44
- Registriert: Mo 8. Nov 2004, 17:44
- Kontaktdaten:
@smac
Ich habe wirklich alles kopiert und es auch auf einer Neuinstallation getestet - geht auch nicht. Funktioniert es nur mit den Standardfiles der *include*'s oder auch mit den geposteten Änderungen von HerrB? http://www.contenido.org/forum/viewtopic.php?t=4302
@HerrB
a) okay, gebongt für die Zukunft
b) weiss ich
c) Ich habe ausschliesslich das Modul in das bereits funktionierende und existierende Modul kopiert - dann erscheint die Fehlermeldung. Ich habe auch die Änderungen von Dir durchgeführt und das andere Modul zuvor gehabt http://www.contenido.org/forum/viewtopic.php?t=4302
Ich habe noch ein Contenido zum Test aufgesetzt -ohne weitere Änderungen zu machen- da habe ich das gleiche Problem. Auch mit einem Mini-Layout. Nur ist der Fehlercode für mich wenigaussagend:-(
Muss ich noch mehr beachten, als nur den Output zu tauschen??
Sorry noch einmal und vielen Dank
Ich habe wirklich alles kopiert und es auch auf einer Neuinstallation getestet - geht auch nicht. Funktioniert es nur mit den Standardfiles der *include*'s oder auch mit den geposteten Änderungen von HerrB? http://www.contenido.org/forum/viewtopic.php?t=4302
@HerrB
a) okay, gebongt für die Zukunft
b) weiss ich
c) Ich habe ausschliesslich das Modul in das bereits funktionierende und existierende Modul kopiert - dann erscheint die Fehlermeldung. Ich habe auch die Änderungen von Dir durchgeführt und das andere Modul zuvor gehabt http://www.contenido.org/forum/viewtopic.php?t=4302
Ich habe noch ein Contenido zum Test aufgesetzt -ohne weitere Änderungen zu machen- da habe ich das gleiche Problem. Auch mit einem Mini-Layout. Nur ist der Fehlercode für mich wenigaussagend:-(
Muss ich noch mehr beachten, als nur den Output zu tauschen??
Sorry noch einmal und vielen Dank
Also ich habe gerade versucht deinen Fehler nach zu verfolgen. Konnte ich nicht, die Zeile 3 beinhaltet ja eigentlich nur einen Kommentar.
Was mir aufgefallen ist, ist dass so ein Fehler mit eval() angezeigt wird, wenn man z.B. beim Anmeldetext, das abschließende Anführungszeichen wegmacht. Hast du daran was geändert?
Beim Input musst du nichts ändern.
Was mir aufgefallen ist, ist dass so ein Fehler mit eval() angezeigt wird, wenn man z.B. beim Anmeldetext, das abschließende Anführungszeichen wegmacht. Hast du daran was geändert?
Beim Input musst du nichts ändern.
Du könntest spaßenshalber mal die Leerzeile vor <?php rausnehmen. Danach mal die Zeilen einzeln einfügen (letzte Zeile muss nur ?> sein) - mindestens bis zum if (!isset...) sollte das fehlerfrei gehen.
Wenn es gar nicht geht: Modul-Output wieder komplett einfügen (auch mit Fehler) und mir die Anmeldedaten per PM senden (wenn die Seite denn aus dem Internet erreichbar ist...).
Gruß
HerrB
Wenn es gar nicht geht: Modul-Output wieder komplett einfügen (auch mit Fehler) und mir die Anmeldedaten per PM senden (wenn die Seite denn aus dem Internet erreichbar ist...).
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Erledigt, war ein falsches Zeilenendezeichen hinter <?php.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
-
- Beiträge: 44
- Registriert: Mo 8. Nov 2004, 17:44
- Kontaktdaten:
Das Modul bringt keinen Fehler mehr.
Bei klick auf "Emailadresse austragen" erscheint die Newsletter-Seite, die Adresse wird allerdings nicht ausgetragen:-(
Sorry, dass ich damit überhaupt nicht klar komme...
Ich bekomme nach dem Link und einer Leerzeile auch noch folgende Ausgabe: ble> und im log steht dazu auch nichts.
Bei klick auf "Emailadresse austragen" erscheint die Newsletter-Seite, die Adresse wird allerdings nicht ausgetragen:-(
Sorry, dass ich damit überhaupt nicht klar komme...
Ich bekomme nach dem Link und einer Leerzeile auch noch folgende Ausgabe: ble> und im log steht dazu auch nichts.