Doch, doch. Der Hook greift, wenn du alles richtig konfiguriert hast.
Dein Problem ist aber ein anderes, das sich wahrscheinlich so mehr oder weniger lösen lässt:
Mach ein Ordner "dca" und speichere das in der tl_member.php:
PHP-Code:
<?php
// palette ersetzen
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace('gender;', 'gender,lastChange;', $GLOBALS['TL_DCA']['tl_member']['palettes']['default']);
$GLOBALS['TL_DCA']['tl_member']['fields']['lastChange'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['lastChange'],
'exclude' => true,
'flag' => 1,
'inputType' => 'text',
'save_callback' => array(array('userupdate', 'saveLastChange')),
'eval' => array('maxlength'=>255, 'tl_class'=>'w50','rgxp'=>'datim')
);
?>
Dann die config/database.sql:
Code:
CREATE TABLE `tl_member` (
`lastChange` int(10) unsigned NOT NULL default '0',
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Und die userupdate.php im Modulordner:
PHP-Code:
class userupdate extends System
{
public function saveLastChange($varValue, DataContainer $dc)
{
return time();
}
}
languages/de/tl_member.php:
PHP-Code:
$GLOBALS['TL_LANG']['tl_member']['lastChange'] = array('Letztes Änderungsdatum', 'Ändern Sie hier bitte nichts, das Datum wird automatisch gesetzt.');
Ergebnis: Ein DB-Feld, das im Frontend nicht sichtbar ist. Im Backend aber nach dem Geschlecht-Dropdown ein Feld mit der letzten Änderung hinzufügt.
Das Feld wird im sowohl im FE wie auch im BE bei jedem Speichern aktualisiert.
Leider kann man es im Backend nicht deaktivieren (grau hinterlegen), da sonst das Feld nicht abgeschickt wird.
Kannst du damit was anfangen?
Lesezeichen