Um die News dynamisch in einen Plain-Text-Newsletter zu bringen, sind die Typo3-Bordmittel vollkommen ungeeignet.
Viel simpler ist es, ausserhalb von Typo3 eine Datenbankabfrage durchzuführen. Dazu legen wir im Webroot eine Seite "news_plain.php" mit folgendem Inhalt an:
<?php
$db = mysql_connect(localhost,db_benutzername,passwort);
$res = mysql_db_query("typo3",
"SELECT tt_news.title,tt_news.short,tt_news.bodytext,tt_news.links FROM `tt_news` WHERE `hidden` = 0 AND `category` = 4 AND `archivedate` >= UNIX_TIMESTAMP() ORDER BY UID DESC;");
$datum = date("d.n.y");
$num = mysql_num_rows($res);
echo "Newsletter vom $datum (Textversion)
";
echo "====================================================
";
echo "Inhalt:
";
for ($i=0; $i<$num; $i++)
{
$title = mysql_result($res, $i, "title");
$short = mysql_result($res, $i, "short");
$bodytext = mysql_result($res, $i, "bodytext");
$links = mysql_result($res, $i, "links");
echo "$title : $short
";
}
echo "====================================================
";
for ($i=0; $i<$num; $i++)
{
$title = mysql_result($res, $i, "title");
$short = mysql_result($res, $i, "short");
$bodytext = mysql_result($res, $i, "bodytext");
$links = mysql_result($res, $i, "links");
echo "$title
";
echo "$short
";
echo "$bodytext
";
echo "$links
";
}
mysql_close($db);
?>
In Zeile 2 wird die Verbindung zur DB aufgebaut. "db_benutzername" und "passwort" müssen durch die entsprechenden Angaben ersetzt werden. Ebenso muss die Kategorie angepasst werden.
Diese Seite ruft man dann innerhalb von T3 auf, wenn man den Plaint-Text-Newsletter versenden will, und zwar mit "http://www.domain.de/news_plain.php", ohne Zusatz irgendwelcher Anhängsel wie "&type=99".
Dies funktioniert, sofern zu allen News ein Archivdatum angegeben wird, ansonsten muss der Code leicht modifiziert werden.
Um Umlaute und html-Tags aus dem Newsletter zu entfernen, sollten vielleicht noch einige ereg-replace's in den php-Code eingefügt werden.