[TYPO3-german] Model erweitern

Eike Starkmann starkmann at undkonsorten.com
Mon Jan 5 17:43:13 CET 2015


Hi Marc,

das ist mir schon klar.

Ich möchte zwei Sachen:
1. Ein bestehendes Model erweitern *ohne* einen neuen recordType einzuführen
2. Das TCA nach der neuen Methode erweitern.
(http://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html)

*Mit* recordType und nach der alten Methode (ext_tables.php) geht das
schon ohne Probleme.

Bis denne, Eike

Am 05.01.2015 um 16:52 schrieb Marc Willmann:
> Hallo Eike,
> 
> Wieso sollte das Frontend irgendwas von Deinen TCA-Erweiterungen
> mitkriegen? Was willst Du im Ergebnis eigentlich genau erreichen?
> 
> Marc
> 
> 
> Am 05.01.15 16:48, schrieb Eike Starkmann:
>> Hallo,
>>
>> ich bin gerade über nen neuen Weg das TCA zu erweitern gestolpert:
>> http://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html
>>
>> Ich habe das jetzt mal für eine Extension so umgebaut, allerdings stellt
>> sich mir die Frage, wie das Frontend von diesen Änderungen wissen soll?
>> Es gibt ja keine Setter und Getter für die neuen Attribute im Model.
>>
>> Also muss noch eine Erweiterung des Model her, aber dann brauche ich
>> doch wieder einen eigenen Typen, damit das Mapping funktioniert, etwa so:
>>
>> ext_tables.php:
>>
>> if
>> (!isset($GLOBALS['TCA']['tx_eventmgmt_domain_model_event']['ctrl']['type']))
>> {
>> 	if
>> (file_exists($GLOBALS['TCA']['tx_eventmgmt_domain_model_event']['ctrl']['dynamicConfigFile']))
>> {
>> 	
>> require_once($GLOBALS['TCA']['tx_eventmgmt_domain_model_event']['ctrl']['dynamicConfigFile']);
>> 	}
>> 	// no type field defined, so we define it here. This will only happen
>> the first time the extension is installed!!
>> 	$GLOBALS['TCA']['tx_eventmgmt_domain_model_event']['ctrl']['type'] =
>> 'tx_extbase_type';
>> 	$tempColumns = array();
>> 	$tempColumns[$GLOBALS['TCA']['tx_eventmgmt_domain_model_event']['ctrl']['type']] = array(
>> 		'exclude' => 1,
>> 		'label'   =>
>> 'LLL:EXT:extend_eventmgmt/Resources/Private/Language/locallang_db.xlf:tx_extendeventmgmt.tx_extbase_type',
>> 		'config' => array(
>> 			'type' => 'select',
>> 			'default' => 'Tx_ExtendEventmgmt_Event',
>> 			'items' => array(),
>> 			'size' => 1,
>> 			'maxitems' => 1,
>> 		)
>> 	);
>> 	\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx_eventmgmt_domain_model_event', $tempColumns, 1);
>> }
>>
>> ext_typoscritp_setup:
>>
>> config.tx_extbase{
>>     persistence{
>>         classes{
>>             Undkonsorten\Eventmgmt\Domain\Model\Event {
>>                 subclasses {
>>                     Tx_ExtendEventmgmt_Event =
>> Undkonsorten\ExtendEventmgmt\Domain\Model\Event			
>>           		}
>>             }
>>             Undkonsorten\ExtendEventmgmt\Domain\Model\Event {
>>                 mapping {
>>                     tableName = tx_eventmgmt_domain_model_event
>>                     recordType = Tx_ExtendEventmgmt_Event
>>                 }
>>             }
>>     	}
>>     }
>> }
>>
>> Dies funktioniert allerdings mit der neuen Methode nicht.
>>
>> 1.) Gibts da ähnliche Erfahrungen?
>> 2.) Braucht man eigentlich unbedingt einen neuen Typen für das mapping?
>>
>> Bis denne, Eike
>>
>>
>>
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
> 
> 



More information about the TYPO3-german mailing list