Nochmal Danke für das CSV-Löschen inkl. wählbarem Blacklist-Eintrag.
Leider haben wir einen Kunden, der auf diese Weise immer seinen Verteiler leert aber ohne Blacklist-Eintrag. Die Standardeinstellung "mit Blacklist" lässt sich leider per DCA nicht änder da hier per Callback ein fester Wert (true) eingetragen wird.
Ein Versuch per
den Standardeintrag zu manipulieren scheitert an der Callback Funktion.PHP-Code:$GLOBALS['TL_DCA']['tl_avisota_recipient_remove']['fields']['blacklist']['default'] = false;
Wenn es dafür keinen Workarround gibt, dann hätte ich mit 2 zusätzlichen Zeilen Code einen geschmeidigen Weg, wie trotz Callback eine individuelle Einstellung möglich ist.
Sollte aber von Tristan in den Code eingebaut werde, sonst ist es nicht updatesicher.
Man nehme die tl_avisota_recipient_remove.php und ergänze zuerst mal den Standardwert für die Blacklist:
Dann ergänze man noch in der CallbackfunktionPHP-Code:'blacklist' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_avisota_recipient_remove']['blacklist'],
'inputType' => 'checkbox',
'eval' => array('tl_class'=> 'm12'),
'default' => true // Standardwert festlegen
)
Aber ich werde dafür wahrscheinlich ein Ticket aufmachen müssen. ;-)PHP-Code:public function onload_callback(DataContainer $dc)
{
$varData = $this->Session->get('AVISOTA_TRACKING_REMOVE');
if ($varData && is_array($varData) && time() - $varData['tstamp'] < 300) {
$dc->setData('blacklist', $varData['blacklist']);
}
else {
// Standardwert abfragen
$blnBlacklist = $GLOBALS['TL_DCA']['tl_avisota_recipient_remove']['fields']['blacklist']['default'] ? true : false;
$dc->setData('blacklist', $blnBlacklist);
}
}
Gruß Andy


