[TYPO3-german] setup.txt in Extension function auslesen

Matthias Leiser m_leiser at bluewin.ch
Mon Sep 26 22:06:06 CEST 2016


Hallo,

Ich habe eine kleine Extension unter TYPO3 6.2.x geschrieben die in direct_mail eine Personalisierte Anrede schreibt.
Die Anrede habe ich jetzt in der hock function fix reingeschrieben und diese funktioniert einwandfrei.
Nun möchte ich die Variablen in die setup.txt auslagern damit ich später im SeitenTS setup jeweils die Variablen überschreiben kann..

Ich bringe es umsverecken nicht hin das meine Extension die variablen aus setup.txt in meine function ausgelesen werden kann.
Meine Extension sieht so aus:

++++++++++
directmail_personalize/ext_localconf.php
++++++++++
<?php
if (!defined ('TYPO3_MODE')) {die ('Access denied.');}
$hooks = array('EXT:directmail_personalize/Classes/class.tx_directmailpersonalize.php:tx_directmailpersonalize->mailMarkersHook');
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/direct_mail']['res/scripts/class.dmailer.php']['mailMarkersHook'] = $hooks;
?>

++++++++++
directmail_personalize/Classes/class.tx_directmailpersonalize.php
++++++++++
<?php
class tx_directmailpersonalize {
	function mailMarkersHook ($params) {
		// Test direct devinition
		$confArray['maleSalutation'] = 'Herr';
		$confArray['male'] = 'Sehr geehrter Herr';
		 $confArray['maleNoLastname'] = 'Lieber';
		$confArray['maleSalutationNoLastname'] = 'Lieber';
		$confArray['female'] = 'Frau';
		$confArray['femaleSalutation'] = 'Sehr geehrte Frau';
		$confArray['femaleNoLastname'] = 'Liebe';
		$confArray['femaleSalutationNoLastname'] = 'Liebe';
		$confArray['group'] = '';
		$confArray['groupSalutation'] = 'Sehr geehrte Damen und Herren';
		$confArray['groupNoLastname'] = 'Liebe/r';
		$confArray['groupSalutationNoLastname'] = 'Liebe/r';

		// male
		if($params['row']['gender'] == 'm') {
			$params['markers']['###USER_title###'] = $confArray['maleNoLastname'];
			$params['markers']['###USER_salutation###'] = $confArray['maleSalutationNoLastname'];

			if($params['row']['last_name'] != '') {
				$params['markers']['###USER_title###'] = $confArray['male'];
				$params['markers']['###USER_salutation###'] = $confArray['maleSalutation'];
			}

		}

		// group
		if($params['row']['gender'] == 'g') {
			$params['markers']['###USER_title###'] = $confArray['groupNoLastname'];
			$params['markers']['###USER_salutation###'] = $confArray['groupSalutationNoLastname'];

			if($params['row']['last_name'] != '') {
				$params['markers']['###USER_title###'] = $confArray['group'];
				$params['markers']['###USER_salutation###'] = $confArray['groupSalutation'];
			}

		}

		// female
		if($params['row']['gender'] == 'f') {
			$params['markers']['###USER_title###'] = $confArray['femaleNoLastname'];
			$params['markers']['###USER_salutation###'] = $confArray['femaleSalutationNoLastname'];

			if($params['row']['last_name'] != '') {
				$params['markers']['###USER_title###'] = $confArray['female'];
				$params['markers']['###USER_salutation###'] = $confArray['femaleSalutation'];
			}

		}
		return $params;
	}
}
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/directmail_personalize/class.tx_directmail_personalize.php']) {
	include_once ($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/directmail_personalize/class.tx_directmail_personalize.php']);
}
 ?>

++++++++++
directmail_personalize/Configuration/TypoScript/setup.txt
++++++++++
plugin.tx_directmail_personalize {
	settings {
		maleSalutation = Herr
		male = Sehr geehrter Herr
		maleNoLastname = Lieber
		maleSalutationNoLastname = Lieber
		female = Frau
		femaleSalutation = Sehr geehrte Lady
		femaleNoLastname = Liebe
		femaleSalutationNoLastname = Liebe
		group =
		groupSalutation = Sehr geehrte Damen und Herren
		groupNoLastname = Liebe/r
		groupSalutationNoLastname = Liebe/r
	}
}

Ich habe schon viele Varianten versucht, zum Beispiel in der function mit 
  = $conf['femaleSalutation'] ;
  = strlen($this->settings['femaleSalutation']);
die Varaible ist einfach leer.

Kann mir jemand weiterhelfen.

Danke!

Gruss
Male


More information about the TYPO3-german mailing list