Zum Inhalt springen

direct_mail als Plaintext mit eigenen Überschriftentypen

Erstellt am 11. April 2014 · 2 Antworten · letzte Antwort am 11. April 2014

Tags: Inhaltselemente, Direct Mail, TYPO3 4.x, Frage

nweber ·

Liebes Forum,

habe trotz Suche bisher noch keine Lösung gefunden. Es geht um die EXT:direct_mail und dort um die Plaintext-Variante im Zusammenhang mit eigenen Überschriften.

Situation
In einem Projekt habe ich dem Redakteur weitere Überschriftentypen zur Auswahl gestellt, so dass im Pulldown Typ (unter dem Überschrifteingabefeld) z.B. 5 verschiedene H3 zur Verfügung stehen, welche per Typoscript entsprechend aufbereitet werden (lib.stdheader.10.30. ...). Nun gibt es seit einiger Zeit in dem Projekt auch die Möglichkeit, HTML/Text-Newsletter per EXT:direct_mail zu verschicken. Die HTML-Variante wird korrekt ausgelesen.

Problem
Der Inhalt in der Textvariante wird grundsätzlich korrekt ausgelesen, berücksichtigt aber nur Überschriften vom Typ 1-5, so dass meine eigenen Überschriftentypen (10,20,30,31,32,...) nicht ausgegeben werden. Im Typoscript der Extension sieht es so aus:

plugin.tx_directmail_pi1 {

	header.defaultType = 1
	header.date = D-m-Y
	header.datePrefix = |###HEADER_DATE_PREFIX### |
	header.linkPrefix = | ###HEADER_LINK_PREFIX### |
	
	header.1.preLineLen = 76
	header.1.postLineLen = 76
	header.1.preBlanks=1
	header.1.stdWrap.case = upper
	
	header.2 < .header.1
	header.2.preLineChar=*
	header.2.postLineChar=*
	
	header.3.preBlanks=2
	header.3.postBlanks=1
	header.3.stdWrap.case = upper
	
	header.4 < .header.1
	header.4.preLineChar= =
	header.4.postLineChar= =
	header.4.preLineBlanks= 1
	header.4.postLineBlanks= 1
	
	header.5.removeSplitChar = {$plugin.tx_directmail_pi1.removeSplitChar}
	header.5.preBlanks=1
	header.5.autonumber=1
	header.5.prefix = |: >> |
	
}

Mein bisheriger Ansatz weitere header hinzuzufügen, ist leider fehlgeschlagen. Dabei habe ich es u.a. so probiert:

	header.10 < .header.1
	header.20 < .header.2
	header.30 < .header.3
	header.40 < .header.4
	header.50 < .header.5

Weiß jemand von euch einen Rat?

Viele Grüße,
nweber

nweber · · Beste Antwort

Ok, vielleicht hätte ich erst weiter im Code der Extension gucken sollen. Dort wird der Range der Typen beschränkt, dort muss ich weiter ran. So wie es geändert ist greifen meine eigenen Typen in Verbindung mit dem Typoscript. jetzt das ganze noch sauber außerhalb der Extension lösen.

Zur Info hier der Abschnitt aus der class.tx_direct_mail_pi1.php (Zeile 327):

function renderHeader($str,$type=0)	{
	if ($str) {
		$hConf = $this->conf['header.'];
		// range too small
		#$defaultType = tx_directmail_static::intInRangeWrapper($hConf['defaultType'],1,5);
		$defaultType = tx_directmail_static::intInRangeWrapper($hConf['defaultType'],1,99);
		#$type = tx_directmail_static::intInRangeWrapper($type,0,6);
		$type = tx_directmail_static::intInRangeWrapper($type,0,99);
	// (...)
}
nweber ·

Sodele, die Änderung der betroffenen Methode liegt nun in der eigenen Extension, das Typoscript ist angepasst, die Überschriften werden wie gewünscht ausgegeben. Hier (der vollständigkeithalber) noch ein Auszug aus dem finalen Typoscript. Falls das jemand mal anpassen muss, lässt sich das Aussehen relativ unkompliziert durch die hier gezeigten Einstellungen steuern:

header.2.preLineLen      = 76
header.2.postLineLen     = 76
header.2.preBlanks       = 1
header.2.postBlanks      = 0
header.2.preLineBlanks   = 1
header.2.postLineBlanks  = 1
header.2.preLineChar     = =
header.2.postLineChar    = =
header.2.stdWrap.case    = upper
header.20 < .header.2

header.3.preLineLen      = 0
header.3.postLineLen     = 76
header.3.preBlanks       = 2
header.3.postBlanks      = 0
header.3.preLineBlanks   = 1
header.3.postLineBlanks  = 1
header.3.preLineChar     =
header.3.postLineChar    = -
header.30 < .header.3
header.31 < .header.3
header.32 < .header.3
header.33 < .header.3
header.34 < .header.3