Liebe Typo3 Community,
ist es möglich, beim Anlegen einer neuen Seite parallel ein Content-Element standardmäßig in einem TemplaVoila-Field anzulegen?
Viele Grüße
Frusci
Liebe Typo3 Community,
ist es möglich, beim Anlegen einer neuen Seite parallel ein Content-Element standardmäßig in einem TemplaVoila-Field anzulegen?
Viele Grüße
Frusci
Das könntest Du mit einer Extension lösen, ist aber etwas aufwändig.
Zunächst musst Du einen der processDatamap_...-Hooks registrieren.
Es gibt die folgenden:
processDatamap_preProcessFieldArray($incomingFieldArray, $table, $id, $this);
processDatamap_postProcessFieldArray($status, $table, $id, $fieldArray, $this)
processDatamap_afterDatabaseOperations($hookObjectsArr, $status, $table, $id, $fieldArray)
processDatamap_afterAllOperations($this)
Das Registrieren erfolgt in der Datei ext_localconf.php in der Form:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass']['myextkey']=t3lib_extMgm::extPath($_EXTKEY, 'hooks/class.tx_myextension_processDatamap.php:user_myhook);
user_myhook ist eine Klasse, kann auch anders heißen, muss aber mit user_ beginnen.
In der Hook-Datei kannst Du dann die Funktionsnamen, die oben erwähnt wurden verwenden, etwa so:
class user_myhook{
function processDatamap_afterDatabaseOperations($command, $table, $id, $value, $that){
// ... prüfen, ob eine Seite erstellt wurde und wenn ja: Inhaltselement erstellen
}
}
Mit PHP neue Content-Elemente erstellen musst Du mit der Methode process_datamap einer Instanz von t3lib_TCEmain. Siehe https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/Index.html