[TYPO3-german] Model erweitern

Eike Starkmann starkmann at undkonsorten.com
Mon Jan 5 16:48:53 CET 2015


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






More information about the TYPO3-german mailing list