[Frage] Denkfehler in Mehrsprachigkeit TYPO3-Version: 7.6.15

  • MFaerber MFaerber
    T3PO
    0 x
    10 Beiträge
    2 Hilfreiche Beiträge
    22. 05. 2017, 20:44

    Hallo zusammen,

    ich bin gerade dabei eine Extension zu schreiben die mit mehreren Sprachen arbeiten soll, für die Label funktioniert das auch Problemlos, genauso wenn die Daten für eine Listenansicht frisch aus der Datenbank kommen hier der Aufruf aus der Repository:

    1. public function findAllLang(){
    2. $luid = $GLOBALS['TSFE']->sys_language_uid;
    3. $query = $this->createQuery();
    4. $query->getQuerySettings()->setLanguageUid($luid);
    5. return $query->execute();
    6. }

    , dann wird die richtige ausgewählte sprache angezeigt, rufe ich aber dann via:

    1. <f:link.action action="show" arguments="{immo : immo}">BlaBlaBLa</f:link.action>

    ein Detailansicht auf und die Ansicht wird aus den Arguments aufgebaut ist wieder nur die Defaultsprache zu sehen.

    Was muss ich denn im Dateilview machen, damit hier der language Overlay gemacht wird?

    Über einen heißen Tip würde ich mich sehr freuen.

    Gruß Micha


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2831 Beiträge
    104 Hilfreiche Beiträge
    23. 05. 2017, 09:32

    Hallo Micha.

    Sicher, dass Dein TYPO3 sauber für Mehrsprachigkeit aufgesetzt/konfiguriert ist?

    Normalwerweise brauchst Du nämlich schon für die Liste keine Verrenkungen mit Zugriff auf $GLOBALS['TSFE']->sys_language_uid machen, sondern reicht die geerbte findAll()-Methode Deines Repositories völlig aus. Ebenso sollte auch die Detailansicht über die geerbte findByUid()/findByIdentifier()-Methode bereits passend handeln.

    Viele Grüße aus Würzburg
    Julian

  • MFaerber MFaerber
    T3PO
    0 x
    10 Beiträge
    2 Hilfreiche Beiträge
    23. 05. 2017, 10:42

    Hallo Julian,

    wenn dem So ist, liegt die vermutung nahe das mit der Mehrsprachigkeit des Typo3 schon was nicht stimmt, ich werde da mal auf Fehlersuche gehen, ich hoffe ich finde was.

    Gruß Micha

  • MFaerber MFaerber
    T3PO
    0 x
    10 Beiträge
    2 Hilfreiche Beiträge
    23. 05. 2017, 14:33

    Hallo zusammen,

    ich habe jetzt mal ein einfach Typo aufgesetzt um das mit den Sprachen zu testen, für die Normalen inhalte geht es, aber für eine eigene extension nach wie vor nicht.

    Dies ist mein TS für das Aktivieren der Mehrsprachigkeit:

    1. config{
    2. linkVars = L
    3. sys_language_uid = 0
    4. language = de
    5. locale_all = de_DE.UTF-8
    6. htmlTag_langKey = de
    7. }
    8.  
    9. [globalVar = GP:L = 1]
    10. config{
    11. sys_language_uid = 1
    12. language = en
    13. locale_all = en_GB
    14. }
    15. [global]

    und dies ist das TCA einer test extension.

    1. return [
    2. 'ctrl' => [
    3. 'title' => 'LLL:EXT:mse_lang/Resources/Private/Language/locallang_db.xlf:tx_mselang_domain_model_lang',
    4. 'label' => 'name',
    5. 'tstamp' => 'tstamp',
    6. 'crdate' => 'crdate',
    7. 'cruser_id' => 'cruser_id',
    8. 'versioningWS' => true,
    9. 'languageField' => 'sys_language_uid',
    10. 'transOrigPointerField' => 'l10n_parent',
    11. 'transOrigDiffSourceField' => 'l10n_diffsource',
    12. 'delete' => 'deleted',
    13. 'enablecolumns' => [
    14. 'disabled' => 'hidden',
    15. 'starttime' => 'starttime',
    16. 'endtime' => 'endtime',
    17. ],
    18. 'searchFields' => 'name,text',
    19. 'iconfile' => 'EXT:mse_lang/Resources/Public/Icons/tx_mselang_domain_model_lang.gif'
    20. ],
    21. 'interface' => [
    22. 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, text',
    23. ],
    24. 'types' => [
    25. '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, text, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
    26. ],
    27. 'columns' => [
    28. 'sys_language_uid' => [
    29. 'exclude' => true,
    30. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
    31. 'config' => [
    32. 'type' => 'select',
    33. 'renderType' => 'selectSingle',
    34. 'special' => 'languages',
    35. 'items' => [
    36. [
    37. 'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages',
    38. -1,
    39. 'flags-multiple'
    40. ]
    41. ],
    42. 'default' => 0,
    43. ],
    44. ],
    45. 'l10n_parent' => [
    46. 'displayCond' => 'FIELD:sys_language_uid:>:0',
    47. 'exclude' => true,
    48. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
    49. 'config' => [
    50. 'type' => 'select',
    51. 'renderType' => 'selectSingle',
    52. 'items' => [
    53. ['', 0],
    54. ],
    55. 'foreign_table' => 'tx_mselang_domain_model_lang',
    56. 'foreign_table_where' => 'AND tx_mselang_domain_model_lang.pid=###CURRENT_PID### AND tx_mselang_domain_model_lang.sys_language_uid IN (-1,0)',
    57. ],
    58. ],
    59. 'l10n_diffsource' => [
    60. 'config' => [
    61. 'type' => 'passthrough',
    62. ],
    63. ],
    64. 't3ver_label' => [
    65. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
    66. 'config' => [
    67. 'type' => 'input',
    68. 'size' => 30,
    69. 'max' => 255,
    70. ],
    71. ],
    72. 'hidden' => [
    73. 'exclude' => true,
    74. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
    75. 'config' => [
    76. 'type' => 'check',
    77. 'items' => [
    78. '1' => [
    79. '0' => 'LLL:EXT:lang/locallang_core.xlf:labels.enabled'
    80. ]
    81. ],
    82. ],
    83. ],
    84. 'starttime' => [
    85. 'exclude' => true,
    86. 'l10n_mode' => 'mergeIfNotBlank',
    87. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
    88. 'config' => [
    89. 'type' => 'input',
    90. 'size' => 13,
    91. 'eval' => 'datetime',
    92. 'default' => 0,
    93. ]
    94. ],
    95. 'endtime' => [
    96. 'exclude' => true,
    97. 'l10n_mode' => 'mergeIfNotBlank',
    98. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
    99. 'config' => [
    100. 'type' => 'input',
    101. 'size' => 13,
    102. 'eval' => 'datetime',
    103. 'default' => 0,
    104. 'range' => [
    105. 'upper' => mktime(0, 0, 0, 1, 1, 2038)
    106. ]
    107. ],
    108. ],
    109. 'name' => [
    110. 'exclude' => true,
    111. 'label' => 'LLL:EXT:mse_lang/Resources/Private/Language/locallang_db.xlf:tx_mselang_domain_model_lang.name',
    112. 'config' => [
    113. 'type' => 'input',
    114. 'size' => 30,
    115. 'eval' => 'trim'
    116. ],
    117. ],
    118. 'text' => [
    119. 'exclude' => true,
    120. 'label' => 'LLL:EXT:mse_lang/Resources/Private/Language/locallang_db.xlf:tx_mselang_domain_model_lang.text',
    121. 'config' => [
    122. 'type' => 'text',
    123. 'cols' => 40,
    124. 'rows' => 15,
    125. 'eval' => 'trim'
    126. ]
    127. ],
    128. ],
    129. ];

    Hat einer nen heißen Tip wo ich anfangen kann, ich habe die Sprache angelegt kann sie Einstellen und auch entsprechend eine Übersetzung anlegen und speichern.

    Ich bin für alles Dankbar.

    Gruß Micha

  • 1