[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