Ergebnis 1 bis 3 von 3

Thema: Newsletterabfrage mit CustomInsertTags

  1. #1
    Contao-Nutzer
    Registriert seit
    26.12.2010.
    Beiträge
    39

    Standard Newsletterabfrage mit CustomInsertTags

    Ich möchte auf meiner Seite, im Kundenaccount der angemeldeten Kunden, einen Text für Newsletter erscheinen lassen. Wenn angemeldet dann soll - "Sie sind derzeit im Newsletter registriert" , wenn nicht, dann soll "Sie haben derzeit keinen Newsletter registriert" erscheinen. Da es diesbezüglich keinen Hauseigenen Inserttag gibt, müsste ich dies mit einer SQL Abfrage realisieren. Wie würde diese Abfrage aussehen?

    Mfg
    mrx02de

  2. #2
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    825
    User beschenken
    Wunschliste

    Standard

    Hallo mrx02de,

    welche Newsletter ein Benutzer abonniert hat, erfährst du über das Feld tl_member.newsletter, wo die ID's der newsletter als serialisiertes Array abgelegt sind. Genau das ist dann aber auch das 'Problem'. In der Regel gibt es ja häufig mehr als einen Newsletter, was soll also passieren, wenn man z.B. drei unterschiedliche Newsletter abonnieren kann, und der Benutzer bereits einen davon abonniert hat... Dein Fall, bei dem offenbar nur ein Newsletter angeboten wird, ist dann mehr ein Spezialfall des allgemeinen Falles mit mehreren Newslettern.

    Es gehört also noch wesentlich mehr dazu, als lediglich eine SQL-Abfrage. Der Array-Inhalt von tl_member.newsletter muss mit den angebotenen Newslettern auf der Seite verwendet werden, deshalb würde ich mal vermuten, dass die beste Lösung eine Erweiterung des Newsletter-Moduls wäre, die für das Contao Modul "Newsletter Anmeldung" eine entsprechend geartete Überprüfung auf den aktuell angemeldeten Benutzer durchführt.

    LG,
    Helmut
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

  3. #3
    Contao-Nutzer
    Registriert seit
    26.12.2010.
    Beiträge
    39

    Standard

    Hallo hschottm,

    vielen Dank für deine Antwort.
    Ich habe mir etwas überlegt und folgendes umgesetzt.

    Es geht mir ja darum (wie oben beschrieben) nur die 2 Meldungen erscheinen zu lassen und
    ich habe es jetzt wie folgt gelöst.

    Als erstes habe ich mir die Avisota Erweiterungen installiert (eine Klasse Erweiterung) und
    die Erweiterung für die CustomInsertTags (ebenfalls Klasse Tool).

    In der Avisota Registrierungsseite habe ich dem email Feld den value-Wert {{user::email}} gegeben
    und auf readonly gesetzt. Somit wird die Member-Email automatisch für die Newsletter vergeben.

    Die CustomInsertTags habe ich wie folgt definiert:

    Abfrage-Typ: Datenbank

    Formel: größer als bzw. kleiner als
    (jenachdem ob der Newsletter abonniert bzw. der Newsletter nicht abonniert/bestätigt wurde.)

    Abfrage:
    Code:
    SELECT email, confirmed  FROM tl_avisota_recipient WHERE email='{{user::email}}' AND confirmed='1'
    Wert: jenachdem
    0 (für die Abfrage auf vorhanden - somit also dann > 0) bzw.
    1 (für die Abfrage auf nicht vorhanden - somit < 1)

    und Voila es funktioniert.

    Hoffe soweit, dass es passt.
    Falls es eine bessere Lösung gibt würde ich mich freuen.

    Mfg
    mrx02de
    Geändert von mrx02de (27.12.2010 um 19:04 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •