Hi Andreas,
ich habe das mit dem callback nochmal überprüft. In der Klasse "Backend" findet die Unterscheidung zwischen "callback" und "table" statt.
PHP-Code:
// Call module callback [Backend 182]
// Default action [Backend 196]
Wenn man jetzt also den Code von der "Default action" in die generate() des callback, also der BE-Modul-Klasse überführt, dann hat man eine Möglichkeit die "default"-Ausgabe zu manipulieren.
PHP-Code:
class ModuleHouse extends BackendModule
{
public function generate()
{
$strTable = $this->Input->get('table') ? $this->Input->get('table') : $GLOBALS['BE_MOD']['custom']['house']['tables'][0];
$dc = $this->objDc;
$act = $this->Input->get('act');
if (!strlen($act) || $act == 'paste' || $act == 'select')
{
$act = ($dc instanceof listable) ? 'showAll' : 'edit';
}
switch ($act)
{
case 'delete':
case 'show':
case 'showAll':
case 'undo':
if (!$dc instanceof listable)
{
$this->log('Data container ' . $strTable . ' is not listable', 'Backend getBackendModule()', TL_ERROR);
trigger_error('The current data container is not listable', E_USER_ERROR);
}
break;
case 'create':
case 'cut':
case 'cutAll':
case 'copy':
case 'copyAll':
case 'move':
case 'edit':
if (!$dc instanceof editable)
{
$this->log('Data container ' . $strTable . ' is not editable', 'Backend getBackendModule()', TL_ERROR);
trigger_error('The current data container is not editable', E_USER_ERROR);
}
break;
}
$return = $dc->$act();
// HIER kann man jetzt $return manipulieren!!!
return $return;
}
Das ganze ist sicher nicht update-safe.
Gruß,
Matthias
Lesezeichen