Hallo,
ich habe in einem DCA ein Callback für 'load_callback' definiert:
Code:
'alias' => array(
'inputType' => 'text',
'reference' => $GLOBALS['TL_LANG']['tl_jobs'],
'load_callback' => array(array('helperClass', 'createAlias')),
'exclude' => true,
'search' => true,
'filter' => true,
'sorting' => true,
'flag' => 1,
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true, 'rgxp' => 'alias'),
'sql' => "varchar(255) NOT NULL default ''"
),
Nebenfrage: Wo würde es in einem Bundle Sinn machen die Callback-Klasse zu speichern. Ich speichere es jetzt einfach am Ende der Datei. Das ist aber nicht schön.
Der Callback sieht so aus:
Code:
class helperClass {
public function createAlias($varValue, DataContainer $dc) {
dump("callback called: ".$varValue);
dump($dc);
if(!empty($varValue) ) {
$result = strtolower(preg_replace('/[^a-zA-Z0-9-_\.]/','', $varValue));
}
// Also $varValue soll ersetzt werden durch den Wert des Feldes 'title' im DCA
return $result;
}
}
Wie man hier schon sieht, versuche ich also den Wert eines anderen Feldes ('title') zu bekommen um automatisch daraus einen Alias zu generieren. Aber wie kann ich auf ein anderes Feld in der DCA zugreifen?
Lesezeichen