Plugin: Empfänger/Recipients
Plugin: Empfänger/Recipients
Es steht nun ein Recipients-Plugin zur Verfügung, mit dem man für jeden Empfänger zusätzliche Informationen speichern kann (z.B. Vor- und Nachname).
Es ist als Beispiel-Plugin für eigene Erweiterungen gedacht.
Empfänger-Plugin
Was bei eigenen Plugins zu beachten ist:
- Jede zusätzliche Information bedeutet pro Newsletter-Empfänger eine weitere Datenbankabfrage - man sollte also möglichst wenige Informationen anlegen
- Plugin-Variablen-Bezeichnungen (z.B. firstname) müssen voneinander "unabhängig" definiert werden (-> Verwendung im Newsletter). Schlechtes Beispiel: Definition eines Plugins "mail" und eines Plugins "mail_privat". Wird nun der Wert für "mail" im Newsletter ersetzt, ersetzt dies neben "MAIL_MAIL" auch "MAIL_MAIL_PRIVAT" (jedoch nur den ersten Teil).
Wichtig:
Mitgliederlisten und ähnliches sollten ggf. über Frontend User-Plugins realisiert werden, nicht unbedingt über Empfänger-Plugins, da die Daten bei jedem Newsletter-Versand mitgeladen werden (wenn die entsprechende Funktion aktiviert ist, siehe folgender Link).
Installation:
Einfach Datei entpacken und nach contenido/plugins hochladen (inklusive Verzeichnis recipients).
Enthaltene Plugins:
- Adresse (Zusatz, Straße, PLZ, Ort, Land)
- Vorname
- Nachname
- Homepage
Verzeichnisse von Plugins, die nicht benötigt werden, können einfach gelöscht bzw. brauchen nicht hochgeladen werden.
Verwendung im Newsletter:
Jede Information, die gespeichert wird, kann beim Versand des Newsletters verwendet werden.
Beispiel: Information "Vorname" (intern: "firstname") -> MAIL_FIRSTNAME.
Damit dies funktioniert, ist das aktuelle Backend-Update einzuspielen:
http://www.contenido.org/forum/viewtopic.php?t=9932
Es wird empfohlen, vor dem Update die vorhandenen Dateien, die durch das Update ersetzt werden, zu sichern.
Gruß
HerrB
Es ist als Beispiel-Plugin für eigene Erweiterungen gedacht.
Empfänger-Plugin
Was bei eigenen Plugins zu beachten ist:
- Jede zusätzliche Information bedeutet pro Newsletter-Empfänger eine weitere Datenbankabfrage - man sollte also möglichst wenige Informationen anlegen
- Plugin-Variablen-Bezeichnungen (z.B. firstname) müssen voneinander "unabhängig" definiert werden (-> Verwendung im Newsletter). Schlechtes Beispiel: Definition eines Plugins "mail" und eines Plugins "mail_privat". Wird nun der Wert für "mail" im Newsletter ersetzt, ersetzt dies neben "MAIL_MAIL" auch "MAIL_MAIL_PRIVAT" (jedoch nur den ersten Teil).
Wichtig:
Mitgliederlisten und ähnliches sollten ggf. über Frontend User-Plugins realisiert werden, nicht unbedingt über Empfänger-Plugins, da die Daten bei jedem Newsletter-Versand mitgeladen werden (wenn die entsprechende Funktion aktiviert ist, siehe folgender Link).
Installation:
Einfach Datei entpacken und nach contenido/plugins hochladen (inklusive Verzeichnis recipients).
Enthaltene Plugins:
- Adresse (Zusatz, Straße, PLZ, Ort, Land)
- Vorname
- Nachname
- Homepage
Verzeichnisse von Plugins, die nicht benötigt werden, können einfach gelöscht bzw. brauchen nicht hochgeladen werden.
Verwendung im Newsletter:
Jede Information, die gespeichert wird, kann beim Versand des Newsletters verwendet werden.
Beispiel: Information "Vorname" (intern: "firstname") -> MAIL_FIRSTNAME.
Damit dies funktioniert, ist das aktuelle Backend-Update einzuspielen:
http://www.contenido.org/forum/viewtopic.php?t=9932
Es wird empfohlen, vor dem Update die vorhandenen Dateien, die durch das Update ersetzt werden, zu sichern.
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
Re: Plugin: Empfänger/Recipients
nur ne kleine anmerkung wie sich das beheben ließeHerrB hat geschrieben:- Plugin-Variablen-Bezeichnungen (z.B. firstname) müssen voneinander "unabhängig" definiert werden (-> Verwendung im Newsletter). Schlechtes Beispiel: Definition eines Plugins "mail" und eines Plugins "mail_privat". Wird nun der Wert für "mail" im Newsletter ersetzt, ersetzt dies neben "MAIL_MAIL" auch "MAIL_MAIL_PRIVAT" (jedoch nur den ersten Teil).
ich schätze mal das die ersetzung ja mittels str_replace oder str_ireplace vorgenommen wird oder ?
man müsste nur den array der da generiert wird (falls du das so einsetzt)
absteigend sortieren... (den replacement sring natürlich ebenso)
aussehen würde der array anstelle von
Array("MAIL_MAIL", "MAIL_MAIL_PRIVAT")
dann so
Array("MAIL_MAIL_PRIVAT", "MAIL_MAIL")
und das sollte das problemchen beheben...
*** make your own tools (wishlist :: thx)
Gute Idee, danke. Muss ich das Plugin-Array sortieren... nehme ich bei der nächsten Überarbeitung rein.
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
Dieser Fehler ist in den kommenden Contenido-Versionen bereits behoben (siehe Bugs V4.6).
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
super ding, genau was ich brauche
funktioniert bei ir aber noch nicht so recht:
im backend habe ich die zusätzlichen felder,
versuche ich den datensatz über das newsletterformular-template zu füllen:
z.B. mit:
<textarea name="lastname" id="lastname" ></textarea>
landet der Eintrag aber nicht in der Datenbank
dasselbe mit "recipients_lastname" habe ich auch probiert,
habe auch schon das news_future_464_0.5 reingespielt,
mach ich noch nen grundlegenden fehler?
gruß
Nihilius
funktioniert bei ir aber noch nicht so recht:
im backend habe ich die zusätzlichen felder,
versuche ich den datensatz über das newsletterformular-template zu füllen:
z.B. mit:
<textarea name="lastname" id="lastname" ></textarea>
landet der Eintrag aber nicht in der Datenbank
dasselbe mit "recipients_lastname" habe ich auch probiert,
habe auch schon das news_future_464_0.5 reingespielt,
mach ich noch nen grundlegenden fehler?
gruß
Nihilius
Du musst natürlich im Newsletter-Handler-Modul noch den notwendigen Code ergänzen, damit die Information auch gespeichert wird...
Ich habe es nicht so genau im Kopf, sieht ungefähr so aus:
Das muss in dem Bereich eingetragen werden, der den Empfänger anlegt (d.h. nachdem er mit $recipient->create angelegt wurde). "<typ>" und "<name>" ergibt sich aus den Plugins (siehe in den jeweiligen Code), "<value>" kommt aus der Variable, e.g.:
Nur ein Beispiel, da muss im Detail nix stimmen, siehe Plugins... und eine Wertprüfung ist auch eine super Idee...
Gruß
HerrB
Ich habe es nicht so genau im Kopf, sieht ungefähr so aus:
Code: Alles auswählen
$recipient->setProperty("<typ>", "<name>", "<value>");
Code: Alles auswählen
$recipient->setProperty("address", "lastname", $_REQUEST["lastname"]);
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
Hallo HerrB, ich mal wieder
habe bei einer Installation 4.6.23mr_v0.3 das Plugin installiert. Kann auch schön Newsletter-Empfänger eintragen und im Backend läuft auch alles prima.
Beim versenden wird allerdings beim ersetzen von MAIL_FIRSTNAME und MAIL_LASTNAME immer der gleiche Name eingesetzt !!! MAIL_NAME wird problemlos ersetzt.
Habe schon versucht das Problem ausfindig zu machen, komme aber nicht drauf woran es liegen könnte. Kannst Du mir da weiter helfen?
Gruß,
funomat
habe bei einer Installation 4.6.23mr_v0.3 das Plugin installiert. Kann auch schön Newsletter-Empfänger eintragen und im Backend läuft auch alles prima.
Beim versenden wird allerdings beim ersetzen von MAIL_FIRSTNAME und MAIL_LASTNAME immer der gleiche Name eingesetzt !!! MAIL_NAME wird problemlos ersetzt.
Habe schon versucht das Problem ausfindig zu machen, komme aber nicht drauf woran es liegen könnte. Kannst Du mir da weiter helfen?
Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Err. Versende mal einen Testnewsletter an Deine E-Mail-Adresse und gucke mal, was er dann einträgt. Will nicht ausschließen, dass da noch ein Bug schlummert...
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
Das steht in der Anrede, wenn ich die Mail als Testmail an mich schicke:
Hilft das weiter?
Code: Alles auswählen
:: formOfAddress: formOfAddress :: :: firstname: firstname :: :: lastname: lastname ::
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Dann tippe ich auf den Code der Plugins - bitte mal kontrollieren, ob da wirklich die richtigen Daten geladen werden.
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
So sieht der Code für firstname aus:Für alle anderen sieht es genau so aus!
Gruß,
funomat
Code: Alles auswählen
function recipients_firstname_getTitle () {
return i18n("Firstname", "recipients_firstname");
}
function recipients_firstname_display () {
global $recipient;
$firstname = new cHTMLTextbox("firstname", $recipient->getProperty("contact", "firstname"));
return $firstname->render();
}
function recipients_firstname_wantedVariables () {
return (array("firstname"));
}
function recipients_firstname_canonicalVariables () {
return array("firstname" => i18n("Firstname", "recipients_firstname"));
}
function recipients_firstname_getvalue ($field) {
global $recipient;
if ($field == "firstname") {
return $recipient->getProperty("contact", "firstname");
}
}
function recipients_firstname_store ($variables) {
global $recipient;
if (!array_key_exists("firstname",$variables)) {
return false;
} else {
$recipient->setProperty("contact", "firstname", $variables["firstname"]);
return true;
}
}
Gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Und wie sieht der Code für das Lastname-Plugin aus?
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
lastname:
formOfAdress:
Code: Alles auswählen
function recipients_lastname_getTitle () {
return i18n("Lastname", "recipients_lastname");
}
function recipients_lastname_display () {
global $recipient;
$lastname = new cHTMLTextbox("lastname", $recipient->getProperty("contact", "lastname"));
return $lastname->render();
}
function recipients_lastname_wantedVariables () {
return (array("lastname"));
}
function recipients_lastname_canonicalVariables () {
return array("lastname" => i18n("Lastname", "recipients_lastname"));
}
function recipients_lastname_getvalue ($field) {
global $recipient;
if ($field == "lastname") {
return $recipient->getProperty("contact", "lastname");
}
}
function recipients_lastname_store ($variables) {
global $recipient;
if (!array_key_exists("lastname",$variables)) {
return false;
} else {
$recipient->setProperty("contact", "lastname", $variables["lastname"]);
return true;
}
}
Code: Alles auswählen
function recipients_formOfAddress_getTitle () {
return i18n("Form of address", "recipients_formOfAddress");
}
function recipients_formOfAddress_display () {
global $recipient;
$formOfAddress = new cHTMLTextbox("formOfAddress", $recipient->getProperty("contact", "formOfAddress"));
return $formOfAddress->render();
}
function recipients_formOfAddress_wantedVariables () {
return (array("formOfAddress"));
}
function recipients_formOfAddress_canonicalVariables () {
return array("formOfAddress" => i18n("Form of address", "recipients_formOfAddress"));
}
function recipients_formOfAddress_getvalue ($field) {
global $recipient;
if ($field == "formOfAddress") {
return $recipient->getProperty("contact", "formOfAddress");
}
}
function recipients_formOfAddress_store ($variables) {
global $recipient;
if (!array_key_exists("formOfAddress",$variables)) {
return false;
} else {
$recipient->setProperty("contact", "formOfAddress", $variables["formOfAddress"]);
return true;
}
}
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)