Hook wird nicht (mehr!) aufgerufen
Hallo, zusammen,
ich habe auf einer Website einen merkwürdigen Effekt: Ein Hook wird nicht aufgerufen. Monatelang wurde er - jetzt nicht mehr. Und ich habe m.E. nichts am (sehr übersichtlichen) Code geändert:
Setzen des Hooks:
PHP-Code:
$GLOBALS['TL_DCA']['tl_partner'] = [
'config' => [
'dataContainer' => DC_Table::class ,
'switchToEdit' => true ,
'sql' => [
'keys' => ['id' => 'primary'] ,
'engine' => 'InnoDB'
] ,
'onsubmit_callback' => [
['tl_partner' , 'createPartnerFile']
]
]
Entsprechende Funktion:
PHP-Code:
public function createPartnerFile()
{
$myLines = array();
$connection = System::getContainer()->get( 'database_connection' );
$rows = $connection->fetchAllAssociative( "SELECT * FROM tl_partner" );
foreach ( $rows as $iRow )
{
$bildFile = \Contao\FilesModel::findById( $iRow['image'] );
if ( $bildFile != null )
$bildURL = Environment::get( 'base' ) . $bildFile->path;
else
$bildURL = "";
$myLines[] = [
'Name' => $iRow['name'] ,
'Info' => $iRow['anschrift'] ,
'WWW' => $iRow['url'] ,
'Email' => $iRow['email'] ,
'Position' => $iRow['position'] ,
'Bild' => $bildURL ,
'Status' => $iRow['status']];
};
$filename = "files/intern/partner.json";
file_put_contents( $filename , json_encode( $myLines , JSON_PRETTY_PRINT ) );
}
Als die Datei "partner.json" nicht (mehr) entstand dachte ich zuerst an irgendwelche Datei-Probleme (Rechte, Pfad etc.) aber dann habe ich als erste Zeile in der Funktion mal testweise "die ('???')" eingesetzt und Contao lief ganz normal weiter. Also wird offensichtlich der Hook nicht aufgerufen.
Hat jemand eine Idee, wo es klemmen könnte?
Vielen Dank im Voraus!