Zum Inhalt springen

Automatisches Anlegen von Content Elements in Templavoila-Field

Erstellt am 12. Juni 2012 · 1 Antwort · letzte Antwort am 12. Juni 2012

Tags: Frage

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

igorshmigor ·

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