[Frage] Backend, Auswahl der Sprache kein refresh mit neuen Feldern für Übersetzun [Gelöst] TYPO3-Version: 6.1.7

  • smeagul smeagul
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    05. 03. 2014, 10:09

    Ich habe eine Extension die Vertriebsmitarbeiter verwaltet. Jeder
    Vertriebsmitarbeiter besteht aus Namen , Adresse (muss nicht übersetzt
    werden) und einer Position und Beschreibung, diese 2 sollen übersetzt
    werden.
    Nun habe ich die Extension mit dem Extension Builder angelegt, schon
    ausgelegt für Mehrsprachigkeit.
    Die 2 Felder Position (position) und Beschreibung (designation) habe ich mit dem Parameter "l10_mode = prefixLangTitle" angelegt in der TCA, die anderen Felder mit "l10_mode = mergeIfNotBlank"

    Nun mein Problem besteht darin, wenn ich im Backend in der Selectbox mit
    den Sprachen, die Sprache ändere passiert kein neues Laden der Felder
    mit der Möglichkeit die Übersetzungen einzustellen. Ich kann lediglich
    den Datensatz in einer anderen Sprache speichern. Aber er wird nicht
    kopiert, sondern im Feld sys_language_uid wird der Wert der ausgewählten Sprache geschrieben.

    Die Übersetzungen für den Inhalt der Seiten funktioniert.

    Was mache ich da falsch?

    Anbei das TCA für die betroffene Tabelle und die ext_tables.php.
    In ext_tables.php steht folgende Definition für die Tabelle:

    1. if (!defined('TYPO3_MODE')) {
    2. die ('Access denied.');
    3. }
    4.  
    5. \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    6. $_EXTKEY,
    7. 'Pi1',
    8. 'Vertriebsmitarbeiter'
    9. );
    10.  
    11. $extensionName = t3lib_div::underscoredToUpperCamelCase($_EXTKEY);
    12. $pluginSignature = strtolower($extensionName) . '_pi1';
    13. $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]='pi_flexform'; // flexform
    14.  
    15. t3lib_extMgm::addPiFlexFormValue($pluginSignature, 'FILE:EXT:'.$_EXTKEY.'/Configuration/FlexForms/Flexform_pi1.xml');
    16.  
    17.  
    18. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Vertriebsmitarbeiter Verwaltung');
    19.  
    20.  
    21. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_aissalesmen_domain_model_salesman', 'EXT:ais_salesmen/Resources/Private/Language/locallang_csh_tx_aissalesmen_domain_model_salesman.xlf');
    22. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_aissalesmen_domain_model_salesman');
    23. $TCA['tx_aissalesmen_domain_model_salesman'] = array(
    24. 'ctrl' => array(
    25. 'title' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman',
    26. 'label' => 'name',
    27. 'tstamp' => 'tstamp',
    28. 'crdate' => 'crdate',
    29. 'cruser_id' => 'cruser_id',
    30. 'dividers2tabs' => TRUE,
    31.  
    32. 'versioningWS' => 2,
    33. 'versioning_followPages' => TRUE,
    34. 'origUid' => 't3_origuid',
    35. 'languageField' => 'sys_language_uid',
    36. 'transOrigPointerField' => 'l10n_parent',
    37. 'transOrigDiffSourceField' => 'l10n_diffsource',
    38. 'delete' => 'deleted',
    39. 'enablecolumns' => array(
    40. 'disabled' => 'hidden',
    41. 'starttime' => 'starttime',
    42. 'endtime' => 'endtime',
    43. ),
    44. 'searchFields' => 'name,image,description,country,zip_area,',
    45. 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/TCA/Salesman.php',
    46. 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/tx_aissalesmen_domain_model_salesman.gif'
    47. ),
    48. );
    49. ......
    50. ....

    Die Definition der Tabelle im Auszug :

    1. $TCA['tx_aissalesmen_domain_model_salesman'] = array(
    2. 'ctrl' => $TCA['tx_aissalesmen_domain_model_salesman']['ctrl'],
    3. 'interface' => array(
    4. 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, firstname, lastname, name, designation, vt_nr, image, description, country, zip_area, internal_section',
    5. ),
    6. 'types' => array(
    7. '1' => array('showitem' => 'sys_language_uid;;;;1-1-1, l10n_parent, l10n_diffsource, hidden;;1, firstname, lastname, name, designation, vt_nr, management_representation, internal_section, position, image, description, country, address, zip, city, email, phone, fax, mobile, website, zip_area, --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime, endtime'),
    8. ),
    9. 'palettes' => array(
    10. '1' => array('showitem' => ''),
    11. ),
    12. 'columns' => array(
    13. 'sys_language_uid' => array(
    14. 'exclude' => 1,
    15. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
    16. 'config' => array(
    17. 'type' => 'select',
    18. 'foreign_table' => 'sys_language',
    19. 'foreign_table_where' => 'ORDER BY sys_language.title',
    20. 'items' => array(
    21. array('LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1),
    22. array('LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0)
    23. ),
    24. ),
    25. ),
    26. 'l10n_parent' => array(
    27. 'displayCond' => 'FIELD:sys_language_uid:>:0',
    28. 'exclude' => 1,
    29. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
    30. 'config' => array(
    31. 'type' => 'select',
    32. 'items' => array(
    33. array('', 0),
    34. ),
    35. 'foreign_table' => 'tx_aissalesmen_domain_model_salesman',
    36. 'foreign_table_where' => 'AND tx_aissalesmen_domain_model_salesman.pid=###CURRENT_PID### AND tx_aissalesmen_domain_model_salesman.sys_language_uid IN (-1,0)',
    37. ),
    38. ),
    39. 'l10n_diffsource' => array(
    40. 'config' => array(
    41. 'type' => 'passthrough',
    42. ),
    43. ),
    44. 't3ver_label' => array(
    45. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
    46. 'config' => array(
    47. 'type' => 'input',
    48. 'size' => 30,
    49. 'max' => 255,
    50. )
    51. ),
    52. 'hidden' => array(
    53. 'exclude' => 1,
    54. 'l10_mode' => '',
    55. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
    56. 'config' => array(
    57. 'type' => 'check',
    58. ),
    59. ),
    60. 'starttime' => array(
    61. 'exclude' => 1,
    62. 'l10n_mode' => 'mergeIfNotBlank',
    63. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
    64. 'config' => array(
    65. 'type' => 'input',
    66. 'size' => 13,
    67. 'max' => 20,
    68. 'eval' => 'datetime',
    69. 'checkbox' => 0,
    70. 'default' => 0,
    71. 'range' => array(
    72. 'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
    73. ),
    74. ),
    75. ),
    76. 'endtime' => array(
    77. 'exclude' => 1,
    78. 'l10n_mode' => 'mergeIfNotBlank',
    79. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
    80. 'config' => array(
    81. 'type' => 'input',
    82. 'size' => 13,
    83. 'max' => 20,
    84. 'eval' => 'datetime',
    85. 'checkbox' => 0,
    86. 'default' => 0,
    87. 'range' => array(
    88. 'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
    89. ),
    90. ),
    91. ),
    92. 'name' => array(
    93. 'exclude' => 0,
    94. 'l10_mode' => 'mergeIfNotBlank',
    95. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.name',
    96. 'config' => array(
    97. 'type' => 'input',
    98. 'size' => 30,
    99. 'eval' => 'trim,required'
    100. ),
    101. ),
    102. 'firstname' => array(
    103. 'exclude' => 0,
    104. 'l10_mode' => 'mergeIfNotBlank',
    105. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.firstname',
    106. 'config' => array(
    107. 'type' => 'input',
    108. 'size' => 30,
    109. 'eval' => 'trim,required'
    110. ),
    111. ),
    112. 'lastname' => array(
    113. 'exclude' => 0,
    114. 'l10_mode' => 'mergeIfNotBlank',
    115. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.lastname',
    116. 'config' => array(
    117. 'type' => 'input',
    118. 'size' => 30,
    119. 'eval' => 'trim,required'
    120. ),
    121. ),
    122. 'image' => array(
    123. 'exclude' => 0,
    124. 'l10_mode' => 'exclude',
    125. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.image',
    126. 'config' => array(
    127. 'type' => 'group',
    128. 'internal_type' => 'file',
    129. 'uploadfolder' => 'uploads/tx_aissalesmen',
    130. 'show_thumbs' => 1,
    131. 'size' => 5,
    132. 'allowed' => $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'],
    133. 'disallowed' => '',
    134. ),
    135. ),
    136. 'description' => array(
    137. 'exclude' => 0,
    138. 'l10_mode' => 'mergeIfNotBlank',
    139. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.description',
    140. 'config' => array(
    141. 'type' => 'text',
    142. 'cols' => 40,
    143. 'rows' => 15,
    144. 'eval' => 'trim'
    145. ),
    146. ),
    147. 'designation' => array(
    148. 'exclude' => 0,
    149. 'l10_mode' => 'prefixLangTitle',
    150. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.designation',
    151. 'config' => array(
    152. 'type' => 'input',
    153. 'size' => 30,
    154. 'eval' => 'trim'
    155. ),
    156. ),
    157. 'position' => array(
    158. 'exclude' => 0,
    159. 'l10_mode' => 'prefixLangTitle',
    160. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.position',
    161. 'config' => array(
    162. 'type' => 'input',
    163. 'size' => 30,
    164. 'eval' => 'trim'
    165. ),
    166. ),
    167. 'country' => array(
    168. 'exclude' => 0,
    169. 'l10_mode' => 'mergeIfNotBlank',
    170. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.country',
    171. 'config' => array(
    172. 'type' => 'select',
    173. 'foreign_table' => 'tx_aissalesmen_domain_model_country',
    174. 'size' => 10,
    175. 'autoSizeMax' => 10,
    176. 'maxitems' => 999,
    177. 'multiple' => 1,
    178. 'appearance' => array(
    179. 'collapseAll' => 0,
    180. 'levelLinksPosition' => 'top',
    181. 'showSynchronizationLink' => 1,
    182. 'showPossibleLocalizationRecords' => 1,
    183. 'showAllLocalizationLink' => 1
    184. ),
    185. ),
    186. ),
    187. 'zip_area' => array(
    188. 'exclude' => 0,
    189. 'l10_mode' => 'mergeIfNotBlank',
    190. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.zip_area',
    191. 'config' => array(
    192. 'type' => 'inline',
    193. 'foreign_table' => 'tx_aissalesmen_domain_model_ziparea',
    194. 'foreign_field' => 'salesman',
    195. 'maxitems' => 9999,
    196. 'appearance' => array(
    197. 'collapseAll' => 0,
    198. 'levelLinksPosition' => 'top',
    199. 'showSynchronizationLink' => 1,
    200. 'showPossibleLocalizationRecords' => 1,
    201. 'showAllLocalizationLink' => 1
    202. ),
    203. ),
    204. ),
    205. 'vt_nr' => array(
    206. 'exclude' => 0,
    207. 'l10_mode' => 'mergeIfNotBlank',
    208. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.vt_nr',
    209. 'config' => array(
    210. 'type' => 'input',
    211. 'size' => 30,
    212. 'eval' => 'trim'
    213. ),
    214. ),
    215. 'vt_name' => array(
    216. 'exclude' => 0,
    217. 'l10_mode' => 'mergeIfNotBlank',
    218. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.vt_name',
    219. 'config' => array(
    220. 'type' => 'input',
    221. 'size' => 30,
    222. 'eval' => 'trim'
    223. ),
    224. ),
    225. 'address' => array(
    226. 'exclude' => 0,
    227. 'l10_mode' => 'mergeIfNotBlank',
    228. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.address',
    229. 'config' => array(
    230. 'type' => 'input',
    231. 'size' => 30,
    232. 'eval' => 'trim'
    233. ),
    234. ),
    235. 'zip' => array(
    236. 'exclude' => 0,
    237. 'l10_mode' => 'mergeIfNotBlank',
    238. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.zip',
    239. 'config' => array(
    240. 'type' => 'input',
    241. 'size' => 30,
    242. 'eval' => 'trim'
    243. ),
    244. ),
    245. 'city' => array(
    246. 'exclude' => 0,
    247. 'l10_mode' => 'mergeIfNotBlank',
    248. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.city',
    249. 'config' => array(
    250. 'type' => 'input',
    251. 'size' => 30,
    252. 'eval' => 'trim'
    253. ),
    254. ),
    255. 'phone' => array(
    256. 'exclude' => 0,
    257. 'l10_mode' => 'mergeIfNotBlank',
    258. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.phone',
    259. 'config' => array(
    260. 'type' => 'input',
    261. 'size' => 30,
    262. 'eval' => 'trim'
    263. ),
    264. ),
    265. 'fax' => array(
    266. 'exclude' => 0,
    267. 'l10_mode' => 'mergeIfNotBlank',
    268. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.fax',
    269. 'config' => array(
    270. 'type' => 'input',
    271. 'size' => 30,
    272. 'eval' => 'trim'
    273. ),
    274. ),
    275. 'mobile' => array(
    276. 'exclude' => 0,
    277. 'l10_mode' => 'mergeIfNotBlank',
    278. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.mobile',
    279. 'config' => array(
    280. 'type' => 'input',
    281. 'size' => 30,
    282. 'eval' => 'trim'
    283. ),
    284. ),
    285. 'email' => array(
    286. 'exclude' => 0,
    287. 'l10_mode' => 'mergeIfNotBlank',
    288. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.email',
    289. 'config' => array(
    290. 'type' => 'input',
    291. 'size' => 30,
    292. 'eval' => 'trim'
    293. ),
    294. ),
    295. 'website' => array(
    296. 'exclude' => 0,
    297. 'l10_mode' => 'mergeIfNotBlank',
    298. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.website',
    299. 'config' => array(
    300. 'type' => 'input',
    301. 'size' => 30,
    302. 'eval' => 'trim'
    303. ),
    304. ),
    305. 'internal_section' => array(
    306. 'exclude' => 0,
    307. 'l10_mode' => 'mergeIfNotBlank',
    308. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.internal_section',
    309. 'config' => array(
    310. 'type' => 'select',
    311. 'foreign_table' => 'tx_aissalesmen_domain_model_internalsection',
    312. 'MM' => 'tx_aissalesmen_salesman_internalsection_mm',
    313. 'size' => 10,
    314. 'autoSizeMax' => 30,
    315. 'maxitems' => 9999,
    316. 'multiple' => 0,
    317. 'wizards' => array(
    318. '_PADDING' => 1,
    319. '_VERTICAL' => 1,
    320. 'edit' => array(
    321. 'type' => 'popup',
    322. 'title' => 'Edit',
    323. 'script' => 'wizard_edit.php',
    324. 'icon' => 'edit2.gif',
    325. 'popup_onlyOpenIfSelected' => 1,
    326. 'JSopenParams' => 'height=350,width=580,status=0,menubar=0,scrollbars=1',
    327. ),
    328. 'add' => Array(
    329. 'type' => 'script',
    330. 'title' => 'Create new',
    331. 'icon' => 'add.gif',
    332. 'params' => array(
    333. 'table' => 'tx_aissalesmen_domain_model_internalsection',
    334. 'pid' => '###CURRENT_PID###',
    335. 'setValue' => 'prepend'
    336. ),
    337. 'script' => 'wizard_add.php',
    338. ),
    339. ),
    340. ),
    341. ),
    342. 'management_representation' => array(
    343. 'exclude' => 0,
    344. 'l10_mode' => 'mergeIfNotBlank',
    345. 'label' => 'LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.management_representation',
    346. 'config' => array(
    347. 'type' => 'select',
    348. 'items' => array(
    349. array('---', 0),
    350. array('LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.management', 1),
    351. array('LLL:EXT:ais_salesmen/Resources/Private/Language/locallang_db.xlf:tx_aissalesmen_domain_model_salesman.representation', 2),
    352. ),
    353. 'size' => '1',
    354.  
    355. ),
    356. ),
    357.  
    358.  
    359. ),
    360. );

    Kann mir jemand einen Tipp geben?

  • smeagul smeagul
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    05. 03. 2014, 15:27 - Lösung

    Hallo ,

    ich konnte es selbst lösen.
    Meine Datensätze liegen in einem Sysfolder. Diesen Sysfolder musste im mit dem Seiten-Modul öffnen, dann sehe ich oben die Einblendung "Lokalisierungsansicht Versionierung .... ".
    Hier auf Lokalisierungsansicht geklickt, Seitenübersetzung für die gewünschte Sprache auswählen und den Seitentitel in der neuen Sprache angeben.
    Dann in die Listenansicht wechseln, "erweiterte Ansicht" einstellen und in der Spalte "Lokalisieren:" die gewünschte Sprache auswählen.


  • 1
  • smeagul smeagul
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    05. 03. 2014, 15:27

    Hallo ,

    ich konnte es selbst lösen.
    Meine Datensätze liegen in einem Sysfolder. Diesen Sysfolder musste im mit dem Seiten-Modul öffnen, dann sehe ich oben die Einblendung "Lokalisierungsansicht Versionierung .... ".
    Hier auf Lokalisierungsansicht geklickt, Seitenübersetzung für die gewünschte Sprache auswählen und den Seitentitel in der neuen Sprache angeben.
    Dann in die Listenansicht wechseln, "erweiterte Ansicht" einstellen und in der Spalte "Lokalisieren:" die gewünschte Sprache auswählen.

  • 1