Schlagwort-Archiv: extbase

Apache crash – php5ts.dll

Heute hatte ich ein sehr „spannendes“ Problem auf meinem lokalen Testserver. Szenario: Eine normale TYPO3 Website eines Kunden, die ich mir auch am lokalen Server eingerichtet habe damit ich größere Änderungn zuerst lokal entwicklen und testen kann. In dieser Website kommen u.a. Extbase Erweiterungen zum Einsatz, daher werden auch Fluid Templates verwendet. Weiterlesen

Extbase Backend Modul als Hauptmodul integrieren

Bisher ist es bei Extbase Erweiterungen nur möglich, mittels Tx_Extbase_Utility_Extension::registerModule() seine eigenen Backend Module in vorhandene Module einzuklinken, sprich in web, file, user, tools usw.

Über die traditionelle Methode t3lib_extmGm::addModule() kann man sich jedoch ein Dummy-Hauptmodul erstellen, in das man die neuen Module dann als Submodule einklinken kann.

ext_localconf.php

if (TYPO3_MODE === 'BE') {
 
	$mainModuleName = str_replace('_', '', $_EXTKEY) . 'M1';
 
	// Hack damit das Modul direkt nach dem Web Modul erscheint
	// die Angabe der $position in addModule() funktioniert hier leider nicht
	if (!isset($TBE_MODULES[$mainModuleName])) {
		$temp_TBE_MODULES = array();
		foreach($TBE_MODULES as $key => $val) {
			if($key == 'web') {
				$temp_TBE_MODULES[$key] = $val;
				$temp_TBE_MODULES[$mainModuleName] = '';
			} else {
				$temp_TBE_MODULES[$key] = $val;
			}
		}
		$TBE_MODULES = $temp_TBE_MODULES;
	}
 
	// Hauptmodul erstellen
	t3lib_extMgm::addModule($mainModuleName, '', '', t3lib_extMgm::extPath($_EXTKEY).'Configuration/BackendModule/');
 
	// Erstes richtiges Backend Modul der Extension
	Tx_Extbase_Utility_Extension::registerModule(
		$_EXTKEY,
		$mainModuleName,
		'subModuleName',
		'',
		array(
		// ...
		),
		array(
		// ...
		)
	);
}

Unter Configuration/BackendModule/ (das Verzeichnis kann natürlich beliebig gewählt werden) erstellen wir noch eine conf.php:

< ?php
	/**
	 * Dummy Konfiguration fürs Haupt Backend Modul
	 */
	define('TYPO3_MOD_PATH', '../typo3conf/ext/ext_key/Configuration/BackendModule/');
	$MCONF['name'] = 'txextkeyM1';
	$MCONF['script'] = '_DISPATCH';
 
	$MCONF['access'] = 'user,group';
 
	$MLANG['default']['tabs_images']['tab'] = 'moduleicon.gif';
	$MLANG['default']['ll_ref'] = 'LLL:EXT:ext_key/Resources/Private/Language/locallang_mod_main.xml';
?>

Somit kann TYPO3 unser „Dummy“ Hauptmodul ordnungsgemäß erstellen und die eigentlichen Module werden als Kind-Module hinzugefügt.

Das Ganze sieht dann so aus: