bedingte Textblöcke nach Gruppenzugehörigkeit

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 23156
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: bedingte Textblöcke nach Gruppenzugehörigkeit

Beitrag von mirko »

andere Möglichkeit gibt es nicht, die Regeln für die Gruppennamen gibt es seit Ewigkeiten, damit sind Leerzeichen und Sonderzeichen erlaubt, Leerzeichen sind aber die Trennzeichen zwischen den Zielgruppen, Sonderzeichen sind verboten.

Man muss, wenn man das so will, ein bestehendes Feld aus der Empfängerliste zur Speicherung der Empfängergruppe verwenden. Schwierig wird es bei Zuordnung zu mehreren Empfängergruppen, braucht man mehrere Felder oder in einem Feld mit Trennzeichen speichern, bei den Zielgruppen "enthält" verwenden.

JOINs sollte man immer vermeiden, die erzeugen viel mehr Last als simple Abfragen. Bei einem eigenen Server spielt das keine Rolle, auf einem einfachen Webspace mit 1000ten Empfängern aber schon.
MarcusK
Beiträge: 191
Registriert: 30.12.2006, 03:24

Re: bedingte Textblöcke nach Gruppenzugehörigkeit

Beitrag von MarcusK »

Danke für deine Antwort.

Wenn die Empfängergruppen, wie du schreibst, für unterschiedliche Zielgruppen vorgesehen sind, sollte die Zielgruppenfunktion auch auf diese Informationen zugreifen können.

Das Argument gegen einen Join kann ich nicht ganz nachvollziehen. SQL-Datenbanken sind für Joins optimiert. Wenn die Indizes korrekt gesetzt sind – insbesondere bei Joins über Schlüsselspalten –, sollte der zusätzliche Aufwand kaum ins Gewicht fallen. Der eigentliche Versand dauert um ein Vielfaches länger als der Join in der Datenbank, die lediglich die Newsletterdaten zurückgibt.

Sollte der Join trotz korrekter Indizierung tatsächlich zu einem Performanceproblem führen, ließe sich alternativ eine denormalisierte Zeichenkette erzeugen. Darin könnten beispielsweise die Gruppennamen oder Gruppen-IDs mit einem Trennzeichen wie Pipe, Komma oder Leerzeichen gespeichert werden. Dieses Feld „Empfängergruppen“ könnte gemeinsam mit den übrigen Daten ausgegeben werden, sodass bei der Abfrage kein zusätzlicher Join erforderlich wäre.

Bei einer Änderung der Empfängergruppen würde die Zeichenkette einfach neu berechnet und in das Feld geschrieben. Die Datenhoheit bliebe weiterhin bei der Gruppentabelle; das zusätzliche Feld wäre lediglich ein Lese-Cache.

Ohne Zugriff auf die ausgewählten Empfängergruppen bleibt mir nur, diese Projektion selbst umzusetzen und bei jeder Änderung der Gruppenzuordnung die entsprechenden Informationen in ein Zeichenkettenfeld zu schreiben.

Aus meiner Sicht wäre es ein wichtiges Feature, statt mehrerer separater E-Mails an die einzelnen Gruppen eine einzige E-Mail versenden zu können, die abhängig von den zugeordneten Empfängergruppen die jeweils relevanten Inhalte enthält.

Falls mein Lösungsvorschlag für dich nicht infrage kommt, freue ich mich auch über eine andere sinnvolle Möglichkeit, dieses Ziel zu erreichen.
Benutzeravatar
mirko
Beiträge: 23156
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: bedingte Textblöcke nach Gruppenzugehörigkeit

Beitrag von mirko »

Nein die Bezeichnungen der Gruppen wird nicht aufgenommen, dazu ist ein weiteres JOIN notwendig, das belastet die Datenbank bei vielen Empfängern noch mehr. In den Bezeichnungen der Gruppen sind ebenfalls Leerzeichen/Sonderzeichen erlaubt, in den Zielgruppen niemals, weil das Leerzeichen der "Trenner" zwischen verschiedenen Zielgruppen, wie bei CSS-Klassen, ist.
Die Empfängergruppen sind für unterschiedliche Zielgruppen gedacht, die unterschiedliche E-Mailings erhalten sollen. z.B. Weihnachten kann man auch an alle mal eine E-Mail schicken, wählt man beim E-Mailing nicht die Gruppen aus.
MarcusK
Beiträge: 191
Registriert: 30.12.2006, 03:24

Re: bedingte Textblöcke nach Gruppenzugehörigkeit

Beitrag von MarcusK »

Die Zielgruppe wäre ja genau das Richtige, aber da kann ich nicht auf die Empfängergruppen des Empfängers zugreifen, da es das Feld in der Auswahl nicht gibt. Ich sehe dann nur die Option die Empfängergruppen über ein Userfeld wie "Zeichenkette 1" abzubilden. Dann sind die eingebauten Empfängergruppen dafür aber nutzlos und ich muss die Formulare manuell programmieren.

Kannst du ein Feld "Empfängergruppen" in die Liste der Felder mit aufnehmen? Das würde ein wichtiges Feature ermöglichen. Der Inhalt des Feldes kann eine Liste der Ids oder der Namen sein. Beides liese sich als Zielgruppe filtern.
Benutzeravatar
mirko
Beiträge: 23156
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: bedingte Textblöcke nach Gruppenzugehörigkeit

Beitrag von mirko »

Nein gibt es nicht, mit IF sowieso nicht, das versteht der Normalnutzer nicht. Nur mit Feldern der Empfängerliste kann man vergleichen lassen und damit Funktionen, (bedingte) Textblöcke und Zielgruppen definieren. Der Name der Empfängergruppe ist nur für den Nutzer, damit er eine Bezeichnung sieht, verwendet wird diese niemals, nur die ID im Hintergrund.

Funktionen: https://newsletter-software-php-script. ... onedit.htm

empfehlenswert für diesen Fall:

Zielgruppen: https://newsletter-software-php-script. ... psedit.htm

Textblöcke: https://newsletter-software-php-script. ... ksedit.htm
MarcusK
Beiträge: 191
Registriert: 30.12.2006, 03:24

bedingte Textblöcke nach Gruppenzugehörigkeit

Beitrag von MarcusK »

Gibt es eine Möglichkeit, Textblöcke in einer E-Mail je nach Gruppenzugehörigkeit einzublenden? Z.B.:

<!-- [IF Empfängergruppe LIKE "%Gruppenname%"] -->
<p>Dieser Text wird nur angezeigt, wenn der Empfänger in der Gruppe ist.</p>
<!-- [ENDIF] -->

Ich möchte eine E-Mail an alle Empfänger schicken. Jeder Empfänger erhält dann die Abschnitte die zur Gruppenauswahl passen Z.B. Infos zu Workshops, Parties, Kursen, Festivals.
Antworten