# Plugin Newsletter

<!-- last_modified: 24. Jul 2018 -->
Dieses Plugin ist zwar schon etwas älter, wird allerdings noch in vielen Projekten eingesetzt.

<a href="/books/cms-handbuch-redakteure/page/plugin-newsletter">Bedienungsanleitung für Redakteure</a>

Die Redakteure können Artikel, Rubriken und Abonnenten selbst anlegen und pflegen, aber das NL-Design ist doch etwas anspruchsvoller.

## Bisherige Methode mit Platzhaltern (wurde bei "HTML-Quellcode" eingefügt, siehe Bild unten)

**Quellcode vom Hauptteil**

```xml
<tr>
  <td width="200"><!-- PICTURE --></td>
  <td>
    <strong><!-- TITEL --></strong><br>
    <!-- TEXT --><br>
    <br>
    <!-- LINK -->
  </td>
</tr>
<tr>
  <td colspan="2"><hr class="dotted"></td>
</tr>
```

**HTML-Quellcode**

```xml
<html>
  <head>
      <style type="text/css">
          body{font-family:sans-serif;font-size:10pt;}
          hr{height:0;border-top:1px solid black;border-bottom:0;}
          hr.dotted{border-top:1px dotted black;}
        </style>
    </head>
  <body>
    <table width="700" align="center" style="background-color:#dedede;">
          <tr><td colspan="2"><img src="http://demo.batix.de/pic/164CB94635F.jpg?size=140x100" border="0"> NEWSLETTER</td></tr>
          <tr><td colspan="2"><hr><!-- HEAD --></td></tr>
          <tr><td colspan="2"><!-- ANKER --><hr class="dotted"></td></tr>
          <!-- MAIN -->
          <tr><td colspan="2"><!-- BOTTOM --></td></tr>
          <tr><td colspan="2"><hr><a href="http://demo.batix.de/www/wiki_web/nl_abmelden.htm?aboid=<!-- ABOID -->">vom Newsletter abmelden</a></td></tr>
        </table>
  </body>
</html>
```

Platzhalter für den Hauptteil, also der Teil, der den Artikel repräsentiert und sich wiederholt.

| Platzhalter | Feldname bei "Artikel bearbeiten" |
|-------------|----------------------------------|
| <!-- TITEL --> | Titel |
| <!-- DATUM --> | Datum |
| <!-- TEXT --> | Beitrag |
| <!-- PICTURE --><br><!-- PICTURE-L --> | (rechtsbündig) erstes Bild<br>(linksbündig) |
| <!-- PICTURE2 --><br><!-- PICTURE2-L --> | (rechtsbündig) zweites Bild<br>(rechtsbündig) |
| <!-- NUMMER --> | Nummer des Artikels, zum Bau einer Sprungmarke |
| <!-- LINK --> | baut aus den Feldern "Link-Text" und "Link" einen Link zusammen |
| <!-- TITEL2 --> | "Bildunterschrift / 2.Titel" - kann für genau diese Zwecke verwendet werden |

Platzhalter für den Seiten-Quellcode (der Teil für die Artikel wird gesondert behandelt)

| Platzhalter | Feldname |
|-------------|---------|
| <!-- HEAD --> | Kopftext (bei "Versand"/"Kopftext" oder beim Design) |
| <!-- MAIN--> | an dieser Stelle wird der Quelltext des Hauptteils eingefügt, der separat definiert wird (siehe oben) |
| <!-- BOTTOM --> | Impressumstext (bei "Versand"/"Kopftext" oder beim Design) |
| <!-- INHALT--> | Liste der Artikel ohne Link |
| <!-- ANKER--> | generiert eine Liste der Artikel aus den Titeln, Sprungmarke wird an den Titel im Artikel gepappt |
| <!-- URL--> |  |
| <!-- ABOID --> | in Verbindung mit Email zum Abmelden (Weiterleitung auf Abmelde-Action, Übergabe der Werte aboid und email |
| <!-- EMAIL --> | siehe oben |
| <!-- AES --> | um Rubriken zu ändern, beim Klick drauf kommt man auf die Website und ist gleich angemeldet und kann die Rubriken ändern. |

Dort kann jetzt auch ein Pfad zu einem HTML-Design mit Tags angegeben werden:

## ![nl.png](https://batix.help/uploads/images/gallery/2026-05/gdkgC357TI6NlqPO-15302683.png)

## Neue Methode mit Tags

Anstelle der Platzhalter kann auch ein Design angegeben werden, in dem Tags anstelle der Platzhalter eingesetzt werden können.

```xml
<!-- eigentliche Schleife über die Artikel -->
  <bx:newsletterdesign.articles> ... <bx:newsletterdesign.articles>  

<!-- einzelnen Elemente eines Newsletterartikels (Tabelle NLARTIKEL) -->
  <bx:newsletterdesign.datum [pattern="dd.MM.yyyy"] [locale="de"]/>
  <bx:newsletterdesign.titel/>
  <bx:newsletterdesign.subtitel/>
  <bx:newsletterdesign.text/>
  <bx:newsletterdesign.link/>
  <bx:newsletterdesign.picture width="..." height="..." [html-Attribute für img-Tag]/>
  <bx:newsletterdesign.picture2 width="..." height="..." [html-Attribute für img-Tag]/>

<!-- Befehle zu Schleifenverwaltung -->
  <bx:newsletterdesign.index/>
  <bx:newsletterdesign.first [not]> ... </bx:newsletterdesign.first>
  <bx:newsletterdesign.last [not]> ... </bx:newsletterdesign.last>

<!--  -->
  <bx:newsletterdesign.aes />
  <bx:newsletterdesign.aboid />
  <bx:newsletterdesign.email />

<!-- zusätzliche Befehle zum Ausgeben des Kopf und Fußtextes des Newsletterdesigns (Tabelle NLDESIGN) -->
  <bx:newsletterdesign.headfield/>
  <bx:newsletterdesign.bottomfield/>

<!-- Abonnenten-Angaben -->
  <bx:newsletterdesign.user field="{Feldname}" /> <!-- mögliche Werte für das Feld: "ansprech", "firma", "email", "id" -->

<!-- wäre auch noch möglich: -->
<bx:newsletterdesign.usermember rubrik="150ABCDEF987" not> User nicht in RubrikX </bx:newsletterdesign.usermember>
```

```xml
<bx:newsletterdesign.articles>

</bx:newsletterdesign.articles>
```

Die folgenden Platzhalter sind zusätzlich im Emailtext (der Optin-Email) verfügbar:

| <LIST> | eine mehrzeilige Liste der gebuchten Rubriken mit Anstrich davor |
|--------|------------------------------------------------------------------|
| <PASSWORD> | das Passwort (mittlerweile unüblich und meist nicht mehr vergeben) |
| [[aboid]] | Die Datensatz-ID der Abonnenten (für das Abo-aktivieren-Action) |
| [[activateid]] | ein verschlüsselt aussehender Wert für das Abo-aktivieren-Action (enthält Email-Adresse und aboid) |

## Test-Beispiel

**Beispiel Titel**

```xml
<html>
    <head>
        <style type="text/css">
        .kopf { border:1px solid darkred; background-color:mistyrose; padding:5px }
        .fuss { border:1px solid forestgreen; background-color:lightgreen; padding:5px }
        .mitte { border:1px solid silver; background-color:whitesmoke; padding:5px }
        .artikel { border:1px solid navy; background-color:lightblue; padding:5px }
        </style>
    </head>
    <body>
        <div class="kopf"><bx:newsletterdesign.headfield/></div>

        <div class="mitte">
            <ul>
                <bx:newsletterdesign.articles>
                    <li>#<bx:newsletterdesign.index/>: <a href="#anker<bx:newsletterdesign.index/>"><bx:newsletterdesign.titel/></a></li>
                </bx:newsletterdesign.articles>
            </ul>
            <bx:newsletterdesign.articles>
                <bx:newsletterdesign.first>[[begin-liste[<br></bx:newsletterdesign.first>
                <div class="artikel">
                    <bx:newsletterdesign.picture width="200" height="200" style="float:right"/>
                    <bx:newsletterdesign.picture2 width="50" height="50" style="float:left"/>
                    <a name="anker<bx:newsletterdesign.index/>">#</a>
                    <i>D="<bx:newsletterdesign.datum pattern="d. MMMMMM yyyy" locale="de"/>"</i><br>
                    <b>T="<bx:newsletterdesign.titel/>"</b><br>
                    <br>
                    <bx:newsletterdesign.text/>
                    <br><br>Bildtitel={<bx:newsletterdesign.subtitel/>}
                    <br>URL=[<bx:newsletterdesign.link/>]
                </div>
                <bx:newsletterdesign.last not><hr style="clear:both"></bx:newsletterdesign.last>
                <bx:newsletterdesign.last><br>]ende-liste]]</bx:newsletterdesign.last>
            </bx:newsletterdesign.articles>
        </div>

        <div class="fuss"><bx:newsletterdesign.bottomfield/></div>
    </body>
</html>
```

Test-Design mit allen Befehlen.