Zum Inhalt springen

Eigene Extension Übersetzung eines Datensatz

Erstellt am 19. September 2013 · 3 Antworten · letzte Antwort am 20. September 2013

Tags: TCA, Frage

bastii ·

Hallo Zusammen

Ich stehe momentan bei einer eigenen Extension etwas auf dem Schlauch. Es geht um eine 2-sprachige Seite. Das Problem ist, wenn ich einen Datensatz übersetzen möchte nicht direkt ein neuer Datensatz mit Verbindung zum Standard-Datensatz erstellt wird. Ich kann wohl die Sprache auswählen, jedoch verändert das nur die Standard-Sprache dieses Datensatzes und eben leider keine Übersetzung.

Die TCA ist noch jene, die der Extension Builder erstellt. Da sollte meines Wissens diese Funktionalität bereits gegeben sein.

Was fehlt? Kann mir da jemand helfen?

 'sys_language_uid' => array(
            'exclude' => 1,
            'label' => 'LLL:EXT:lang/locallang_general.xml: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.xml:LGL.allLanguages', -1),
                    array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
                ),
            ),
        ),
        'l10n_parent' => array(
            'displayCond' => 'FIELD:sys_language_uid:>:0',
            'exclude' => 1,
            'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
            'config' => array(
                'type' => 'select',
                'items' => array(
                    array('', 0),
                ),
                'foreign_table' => 'tx_leisirecipe_domain_model_recipe',
                'foreign_table_where' => 'AND tx_leisirecipe_domain_model_recipe.pid=###CURRENT_PID### AND tx_leisirecipe_domain_model_recipe.sys_language_uid IN (-1,0)',
            ),
        ),
        'l10n_diffsource' => array(
            'config' => array(
                'type' => 'passthrough',
            ),
        ),

TYPO3 Version 6.1.5

Danke und Grüsse
Bastii

Bildschirmfoto-2013-09-19-um-12.32.57.png

einpraegsam.​net ·

Wenn du einen Datensätz händisch mit Sprache und Relation anlegen willst, kannst du das so oder so ähnlich machen:

   $newRecord = $this->objectManager->create('Tx_Ext_Domain_Model_Record');
   $newRecord->setTitle('any');
   $newRecord->setSysLanguageUid($language);
   $newRecord->_setProperty('_languageUid', $language);
   $newRecord->setL10nParent(123);
   $this->recordRepository->add($newRecord);
   $this->objectManager->get('Tx_Extbase_Persistence_Manager')->persistAll();
bastii ·

Danke für deine Antwort. Ich meine jedoch, wenn im Backend eine Übersetzung des Datensatzes erstellt werden möchte.

Sollte meines Wissens bereits implementiert sein. Funktioniert bei mir jedoch nicht...