Damit man alles beisammen hat, hier eine Anleitung zur Verwendung des Newsletters und Links zu den notwendigen Updates (hey, ich habe ganz fest vor, das in den FAQs zu ergänzen, snoopy . Ich hoffe, mein Account funktioniert noch).
Der Code in diesem Thread ist für V4.5.2 alpha und aktuellere V4.5 CVS-Snapshots geeignet (getestet bis 4.5 CVS vom 26.11.2004).
Achtung! Bis auf weiteres ist dieser Code auch nicht für V4.5.4 oder V4.5.5 geeignet!!!!
Damit ist dieser Thread !!! NICHT !!! für Contenido-Versionen kleiner V4.5.x geeignet. Der Code ist !!! NICHT !!! für V4.4.0, V4.4.1, V4.4.2, V4.4.3, V4.4.4 oder noch ältere Versionen geeignet.
Eine entsprechende Version dieses Threads für V4.4.3 und V4.4.4 findest Du hier: http://www.contenido.de/forum/viewtopic.php?t=4302
WARNUNG: Leider ist das Ganze für V4.5.x komplizierter. Bitte alle Texte, LiesMich.txt usw. aufmerksam durchlesen - wie immer gibt es keine Haftung. Na ja und Hilfe wie es die Zeit zulässt...
Das Ganze basiert ursprünglich auf der sehr guten Anleitung auf http://www.x28.de (bzw. http://www.cms-webdesign-service.de/fro ... ?idcat=213).
Hinweis: Es gibt bereits eine alte Version dieses Moduls (V2.0) im Bereich Module 4.4.4 - diese ist nicht mit dieser Version kompatibel (und sollte nicht mit V4.5.x verwendet werden)!
Vorbereitung (nur für V4.5.x NICHT FÜR CVS NACH 03.06.2005):
Damit dieses Modul verwendet werden kann, müssen die Contenido-Newsletter-Funktionen aktualisiert werden. Eine Anleitung und die notwendigen Dateien gibt es [nicht mehr, in V4.6 integriert].
Anleitung:
0. Notwendige Dateien runterladen (und entpacken): [kein Download, in V4.6 integriert]
1. Modul anlegen (-> "Newsletter Handler")
Code aus newsletter_handler.txt (Ordner V4.5.x) in die jeweiligen Bereiche einfügen (Kommentar, Eingabe, Ausgabe), Änderungen speichern
2. Wechseln Sie im Modul auf den Reiter "Übersetzung" und wählen Sie bei "Import from file" newsletter_handler_de.xml (Ordner Translation_de) aus und laden Sie sie hoch.
3. Legen Sie ein Template an. Nennen sie es ebenfalls "Newsletter Handler".
4. Nehmen Sie in einen Container das eben gespeicherte Modul "Newsletter Handler" auf.
5. Legen Sie einen neuen Artikel an. Empfehlenswert: In der Kategorie Hilfsnavigation. Benutzen Sie für den Artikel das Template Newsletter Handler. Speichern Sie den Artikel.
6. Schalten Sie den Artikel online.
7. Legen Sie ein neues Modul an. Nennen Sie es "Newsletter Form".
Code aus newsletter_form.txt in die jeweiligen Bereiche einfügen, Änderungen speichern
8. Wechseln Sie im Modul auf den Reiter "Übersetzung" und wählen Sie bei "Import from file" newsletter_form_de.xml aus und laden Sie sie hoch.
9. Verwenden Sie das neue Modul in einem Template.
10. Konfigurieren Sie jeweils die Artikel - dabei muss zumindest einmal der Handler-Artikel ausgewählt und gespeichert werden. Wird der Handler-Artikel bei der Konfiguration festgelegt, wird er an zentraler Stelle im System hinterlegt (Mandanten-Einstellungen).
11. Schon fertig
Durchgeführte Änderungen:
In dieser Version:
- Anpassung an V4.5.x
- Anpassung neue Newsletter-Klassen
- Anmeldung an Gruppen (Zuordnung muss z.Z. manuell im Backend erfolgen)
- Öffnen im neuen Fenster
- Prüfen der E-Mail-Adressen-Syntax
- Eintragen der Handler-Artikel-ID über die Mandanteneinstellungen entfällt, Festlegung erfolgt über Konfiguration
- Blättern durch Empfänger
- Suchen von Empfängern
- Auswahl nach Empfänger-Gruppe
- Frontend-User-Link
Bereits in der Vorversion geändert:
- Bestätigungsmail aktiviert zwar Empfänger, aber bestätigt ihn nicht
- Verwendung identischer E-Mail-Adressen in unterschiedlicher Schreibweise (Groß-/Kleinbuchstaben) möglich
- Eintragung einer leeren E-Mail-Adresse möglich
- Pausieren (STOP), weiter (GOON) und abmelden (UNSUBSCRIBE) funktionieren nicht
- Eingabe von Name und E-Mail-Adresse sehr empfänglich für SQL-Injection (IMHO Sicherheitslücke)
- Mehrere Mandanten und Sprachen werden unterstützt.
- Berücksichtigung unterschiedlicher Sprachen in beiden Modulen.
- Die Speicherung des Namens und der E-Mail-Adresse erfolgt nach Kodierung mit urlencode. Als Identifizierungsschlüssel wird ein eindeutiger, jedoch zufälliger Schlüssel erzeugt.
- Die Datei news.php wird nicht mehr verwendet, stattdessen wird direkt der Artikel (mit Newsletter Blackbox) aufgerufen.
- Die Links, die verschickt werden, enthalten nun den direkten Verweis auf den Artikel in der Sprache des Newsletters.
- Scheitert STOP, GOON, UNSUBSCRIBE oder DELETE aus unbekanntem Grund, wird der Nutzer darüber informiert (Fehlermeldungen können im Modul "Newsletter Blackbox" angepasst werden).
SQL-Fehlermeldungen:
Bei einem Update von älteren Contenido-Versionen werden u.U. benötigte Spalten nicht erzeugt. Sollten also SQL-Fehlermeldungen auftreten, sollte die Tabelle <prefix>_news_rcp auf die Anwesenheit der Spalten confirmed und hash überprüft werden (z.B. mit phpMyAdmin: http://www.phpmyadmin.net).
Sollten die Spalten fehlen (<Prefix> geeignet ersetzen, Standard: con):
Code: Alles auswählen
ALTER TABLE `<Prefix>_news_rcp` ADD `confirmed` TINYINT( 1 ) DEFAULT '0' NOT NULL;
ALTER TABLE `<Prefix>_news_rcp` ADD `hash` VARCHAR(32) NOT NULL ;
Verwenden Sie die mitgelieferten XML-Dateien als Vorlage und übersetzen Sie sie. Wechseln Sie in die gewünschte Sprache, öffnen Sie das Modul, wechseln Sie auf den reiter "Übersetzung" und laden Sie Ihre neue Sprache hoch.
Die "txt..."-Angaben enthalten den Text, der in die Mail eingefügt oder für Schaltflächen verwendet wird (kein HTML empfohlen).
Um es zu testen, kann das Anmeldeformular direkt (= Standardsprache) oder mit front_content.php?changelang=<Sprach-ID>... aufgerufen werden. Bitte beachten, dass bei Änderungen in den Modulen die Templates erneut zugewiesen werden müssen.
Was noch wichtig ist: Newsletter-Empfänger sind sprachgebunden. Wünscht ein Nutzer mehrere Sprachen, muss er sich auch für jede Sprache einzeln anmelden (und die Anmeldung jeweils bestätigen). Es muss für jede Sprache ein separater Newsletter erstellt und versendet werden. Wenn das Feature "Welcome-Newsletter" genutzt werden soll, muss für jede Sprache ein Welcome-Newsletter (mit dem gleichen Namen) erstellt werden.
Ich hoffe, ich habe nichts vergessen; alles auf eigene Gefahr (Backup...).
Viel Erfolg!
Gruß
HerrB
P.S.: So sollte es ungefähr aussehen: