RechtsBei der Wahl der Namen fr die Datenbankfelder sind Sie frei, die hier verwendeten Namen sind jedoch in der TYPO3-Welt gebruchlich. In jedem Fall mssen Sie TYPO3 mitteilen, welche Namen Sie gewhlt haben. Dies geschieht in der Datei ext_tables.php im Abschnit ctrl der entsprechenden Datenbanktabelle.$TCA['tx_blogexample_domain_model_blog'] = array ( 'ctrl' => array ( ... 'languageField' => 'sys_language_uid', 'transOrigPointerField' => 'l18n_parent', 'transOrigDiffSourceField' => 'l18n_diffsource', ... ) );Das Feld sys_language_uid dient zur Speicherung der UID der Sprache, in der der Blog verfasst ist. Anhand dieser UID whlt Extbase dann die richtige bersetzung, abhngig von der aktuellen Einstellung im TypoScript unter config.sys_language_uid. In das Feld l18n_parent wird die UID desjenigen Blogs hinterlegt, der in der Standardsprache angelegt wurde bzw. von dem der aktuelle Blog eine bersetzung darstellt. Das dritte Feld, l18n_diffsource, enthlt einen Schnappschuss des Ursprungs der bersetzung. Dieser Schnappschuss dient im Backend zur Bildung einer Differenzansicht und wird von Extbase nicht ausgewertet. Im Abschnitt columns des TCA mssen Sie dann noch die Felder entsprechend konfigurieren. Die folgende Konfiguration fgt zwei Felder zum Backend-Formular des Blogs hinzu: ein Feld, mit dem der Redakteur die Sprache eines Datensatzes bestimmt, und ein Feld, mit dem er den Datensatz auswhlt, auf den sich die bersetzung bezieht.$TCA['tx_blogexample_domain_model_blog'] = array( ... 'types' => array( '1' => array('showitem' => 'l18n_parent , sys_language_uid, hidden, title, description, logo, posts, administrator') ), 'columns' => array( 'sys_language_uid' => array( 'exclude' => 1, 'label' => 'LLL:EXT:lang/locallang_general.php:LGL.language', 'config' => array( 'type' => 'select', 'foreign_table' => 'sys_language', 'foreign_table_where' => 'ORDER BY sys_language.title', 'items' => array( array('LLL:EXT:lang/locallang_general.php:LGL.allLanguages',-1), array('LLL:EXT:lang/locallang_general.php:LGL.default_value',0) ) ) ),Max. LinieMax. Linie223Eine Extension lokalisieren und mehrsprachig auslegen |