[Frage] USER_INT und Mehrsprachigkeit [Gelöst] TYPO3-Version: 4.7.10

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    22. 10. 2013, 12:07

    Hallo Zusammen,

    habe ein kleines Problem mit TemplaVoila.
    Die Seite wurde von jemand anderem erstellt, ich kenne mich leider in TV gar nicht aus.

    Mir wurde ein Marker gemappt den ich über ein Erweiterungstemplate auf einer einzelnen Seite befülle.
    Dort wird eine userFunc eingefügt, das sieht dann so aus:

    1. [globalVar = TSFE:id = 188]
    2.  
    3. page.includeLibs.kuehlkalk = fileadmin/kuehlkalk/user_kuehlkalk.inc.php
    4. page.includeCSS.50 = fileadmin/kuehlkalk/kuehlung.css
    5.  
    6. lib.kuehlkalk-unten = USER_INT
    7. lib.kuehlkalk-unten {
    8. userFunc = user_kuehlkalk->main
    9. }
    10. [global]

    Das hat bisher auch völlig einwandfrei funktioniert.
    Nun kam aber noch eine 2. Sprache dazu.
    Hier scheint das Skript überhaupt gar nicht ausgeführt zu werden, eingebunden wird es aber.
    Wenn ich einen
    Befehl in die erste Zeile setze, dann passiert das auch. Innerhalb der main-Funktion die aufgerufen werden sollte passiert aber gar nichts.
    Jetzt ist die nette Person die mit den Wert gemappt hat leider auch ein TV Vollpfosten und weiß nicht weiter.

    Muss man hier noch irgendwas machen, damit das TS-Objekt auch in der Übersetzung eingefügt/ausgeführt wird??

    [/code]

    God's in his heaven, all's right with the world

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    24. 10. 2013, 10:39 - Lösung

    Schau dir mal diese Seite hier an, die erklärt die verschiedenen Modi ganz gut:
    http://www.typo3-media.com/blog/localisation-secrets.html

    Du schreibst: "Nun kam aber noch eine 2. Sprache dazu."
    Dumme Frage: Arbeitest du mit Inline-Lokalisierung, also ein Seitenbaum mit 2 Sprachen,
    oder hast du proSprache jeweils eien eigenen Seitenbaum?
    Dann würde die Condition ja nicht greifen :-)
    Gibt es noch irgendwo anders eine Condition, die die Ausführung von user_kuehlkalk->main verhindert?


  • 1
  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    22. 10. 2013, 17:35

    Kann am verwendeten Übersetzungs-Paradigm (oder wie das nun heißt) liegen,
    und dann natürlich an der userfunc.
    Poste doch mal bitte das DS-XML aus TV und die userfunc.

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    23. 10. 2013, 09:12

    Ich hoffe mal das ist was du meinst, wie gesagt, ich kenn mich mit TV gar nicht aus, da ich selbst mit backend_layout arbeite.

    1. <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    2. <T3DataStructure>
    3. <meta type="array">
    4. <langChildren type="integer">1</langChildren>
    5. <langDisable type="integer">1</langDisable>
    6. </meta>
    7. <ROOT type="array">
    8. <tx_templavoila type="array">
    9. <title>ROOT</title>
    10. <description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
    11. <tags>body</tags>
    12. </tx_templavoila>
    13. <type>array</type>
    14. <el type="array">
    15. <field_flag type="array">
    16. <tx_templavoila type="array">
    17. <title>Flag</title>
    18. <sample_data type="array">
    19. <numIndex index="0"></numIndex>
    20. </sample_data>
    21. <eType>TypoScriptObject</eType>
    22. <proc type="array">
    23. <int>0</int>
    24. <HSC>0</HSC>
    25. <stdWrap></stdWrap>
    26. </proc>
    27. <preview></preview>
    28. <TypoScriptObjPath>lib.flag</TypoScriptObjPath>
    29. </tx_templavoila>
    30. </field_flag>
    31. <field_language type="array">
    32. <tx_templavoila type="array">
    33. <title>Language</title>
    34. <sample_data type="array">
    35. <numIndex index="0"></numIndex>
    36. </sample_data>
    37. <eType>TypoScriptObject</eType>
    38. <proc type="array">
    39. <int>0</int>
    40. <HSC>0</HSC>
    41. <stdWrap></stdWrap>
    42. </proc>
    43. <preview></preview>
    44. <TypoScriptObjPath>lib.language</TypoScriptObjPath>
    45. </tx_templavoila>
    46. </field_language>
    47. <field_header type="array">
    48. <tx_templavoila type="array">
    49. <title>Header</title>
    50. <sample_data type="array">
    51. <numIndex index="0"></numIndex>
    52. </sample_data>
    53. <eType>TypoScriptObject</eType>
    54. <proc type="array">
    55. <int>0</int>
    56. <HSC>0</HSC>
    57. <stdWrap></stdWrap>
    58. </proc>
    59. <preview></preview>
    60. <TypoScriptObjPath>lib.header</TypoScriptObjPath>
    61. </tx_templavoila>
    62. </field_header>
    63. <field_kuehlkalk type="array">
    64. <tx_templavoila type="array">
    65. <title>kuehlkalk</title>
    66. <sample_data type="array">
    67. <numIndex index="0"></numIndex>
    68. </sample_data>
    69. <eType>TypoScriptObject</eType>
    70. <proc type="array">
    71. <int>0</int>
    72. <HSC>0</HSC>
    73. <stdWrap></stdWrap>
    74. </proc>
    75. <preview></preview>
    76. <TypoScriptObjPath>lib.kuehlkalk</TypoScriptObjPath>
    77. </tx_templavoila>
    78. </field_kuehlkalk>
    79. <field_suche type="array">
    80. <tx_templavoila type="array">
    81. <title>Suche</title>
    82. <sample_data type="array">
    83. <numIndex index="0"></numIndex>
    84. </sample_data>
    85. <eType>TypoScriptObject</eType>
    86. <proc type="array">
    87. <int>0</int>
    88. <HSC>0</HSC>
    89. <stdWrap></stdWrap>
    90. </proc>
    91. <preview></preview>
    92. <TypoScriptObjPath>lib.suche</TypoScriptObjPath>
    93. </tx_templavoila>
    94. </field_suche>
    95. <field_menu type="array">
    96. <tx_templavoila type="array">
    97. <title>Menü Top</title>
    98. <sample_data type="array">
    99. <numIndex index="0"></numIndex>
    100. </sample_data>
    101. <eType>TypoScriptObject</eType>
    102. <proc type="array">
    103. <int>0</int>
    104. <HSC>0</HSC>
    105. <stdWrap></stdWrap>
    106. </proc>
    107. <preview></preview>
    108. <TypoScriptObjPath>lib.menu</TypoScriptObjPath>
    109. </tx_templavoila>
    110. </field_menu>
    111. <field_footer type="array">
    112. <tx_templavoila type="array">
    113. <title>Footer</title>
    114. <sample_data type="array">
    115. <numIndex index="0"></numIndex>
    116. </sample_data>
    117. <eType>TypoScriptObject</eType>
    118. <proc type="array">
    119. <int>0</int>
    120. <HSC>0</HSC>
    121. <stdWrap></stdWrap>
    122. </proc>
    123. <preview></preview>
    124. <TypoScriptObjPath>lib.footer</TypoScriptObjPath>
    125. </tx_templavoila>
    126. </field_footer>
    127. <field_sitemap type="array">
    128. <tx_templavoila type="array">
    129. <title>Sitemap</title>
    130. <sample_data type="array">
    131. <numIndex index="0"></numIndex>
    132. </sample_data>
    133. <eType>TypoScriptObject</eType>
    134. <proc type="array">
    135. <int>0</int>
    136. <HSC>0</HSC>
    137. <stdWrap></stdWrap>
    138. </proc>
    139. <preview></preview>
    140. <TypoScriptObjPath>lib.sitemap</TypoScriptObjPath>
    141. </tx_templavoila>
    142. </field_sitemap>
    143. <field_bildsub type="array">
    144. <tx_templavoila type="array">
    145. <title>Bild </title>
    146. <sample_data type="array">
    147. <numIndex index="0"></numIndex>
    148. </sample_data>
    149. <eType>ce</eType>
    150. <TypoScript><![CDATA[
    151. 10= RECORDS
    152. 10.source.current=1
    153. 10.tables = tt_content
    154. 10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->]]></TypoScript>
    155. <preview></preview>
    156. <enableDragDrop type="integer">1</enableDragDrop>
    157. </tx_templavoila>
    158. <TCEforms type="array">
    159. <label>Bild </label>
    160. <config type="array">
    161. <type>group</type>
    162. <internal_type>db</internal_type>
    163. <allowed>tt_content</allowed>
    164. <size>5</size>
    165. <maxitems>200</maxitems>
    166. <minitems>0</minitems>
    167. <multiple>1</multiple>
    168. <show_thumbs>1</show_thumbs>
    169. </config>
    170. </TCEforms>
    171. </field_bildsub>
    172. <field_submenu type="array">
    173. <tx_templavoila type="array">
    174. <title>Submenu</title>
    175. <sample_data type="array">
    176. <numIndex index="0"></numIndex>
    177. </sample_data>
    178. <eType>TypoScriptObject</eType>
    179. <proc type="array">
    180. <int>0</int>
    181. <HSC>0</HSC>
    182. <stdWrap></stdWrap>
    183. </proc>
    184. <preview></preview>
    185. <TypoScriptObjPath>lib.subMenu</TypoScriptObjPath>
    186. </tx_templavoila>
    187. </field_submenu>
    188. <field_menutitle type="array">
    189. <tx_templavoila type="array">
    190. <title>Menü Titel</title>
    191. <sample_data type="array">
    192. <numIndex index="0"></numIndex>
    193. </sample_data>
    194. <eType>TypoScriptObject</eType>
    195. <proc type="array">
    196. <int>0</int>
    197. <HSC>0</HSC>
    198. <stdWrap></stdWrap>
    199. </proc>
    200. <preview></preview>
    201. <TypoScriptObjPath>lib.menutitle</TypoScriptObjPath>
    202. </tx_templavoila>
    203. </field_menutitle>
    204. <field_text type="array">
    205. <tx_templavoila type="array">
    206. <title>Text</title>
    207. <sample_data type="array">
    208. <numIndex index="0"></numIndex>
    209. </sample_data>
    210. <eType>ce</eType>
    211. <TypoScript><![CDATA[
    212. 10= RECORDS
    213. 10.source.current=1
    214. 10.tables = tt_content
    215. 10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->]]></TypoScript>
    216. <preview></preview>
    217. <enableDragDrop type="integer">1</enableDragDrop>
    218. </tx_templavoila>
    219. <TCEforms type="array">
    220. <label>Text</label>
    221. <config type="array">
    222. <type>group</type>
    223. <internal_type>db</internal_type>
    224. <allowed>tt_content</allowed>
    225. <size>5</size>
    226. <maxitems>200</maxitems>
    227. <minitems>0</minitems>
    228. <multiple>1</multiple>
    229. <show_thumbs>1</show_thumbs>
    230. </config>
    231. </TCEforms>
    232. </field_text>
    233. <field_headtext type="array">
    234. <tx_templavoila type="array">
    235. <title>Headtext</title>
    236. <sample_data type="array">
    237. <numIndex index="0"></numIndex>
    238. </sample_data>
    239. <eType>TypoScriptObject</eType>
    240. <proc type="array">
    241. <int>0</int>
    242. <HSC>0</HSC>
    243. <stdWrap></stdWrap>
    244. </proc>
    245. <preview></preview>
    246. <TypoScriptObjPath>lib.headtext</TypoScriptObjPath>
    247. </tx_templavoila>
    248. </field_headtext>
    249. <field_logo type="array">
    250. <tx_templavoila type="array">
    251. <title>Logo</title>
    252. <sample_data type="array">
    253. <numIndex index="0"></numIndex>
    254. </sample_data>
    255. <eType>TypoScriptObject</eType>
    256. <proc type="array">
    257. <int>0</int>
    258. <HSC>0</HSC>
    259. <stdWrap></stdWrap>
    260. </proc>
    261. <preview></preview>
    262. <TypoScriptObjPath>lib.logo</TypoScriptObjPath>
    263. </tx_templavoila>
    264. </field_logo>
    265. <field_kuehlkalkunten type="array">
    266. <tx_templavoila type="array">
    267. <title>kuehlkalk unten</title>
    268. <sample_data type="array">
    269. <numIndex index="0"></numIndex>
    270. </sample_data>
    271. <eType>TypoScriptObject</eType>
    272. <proc type="array">
    273. <int>0</int>
    274. <HSC>0</HSC>
    275. <stdWrap></stdWrap>
    276. </proc>
    277. <preview></preview>
    278. <TypoScriptObjPath>lib.kuehlkalk-unten</TypoScriptObjPath>
    279. </tx_templavoila>
    280. </field_kuehlkalkunten>
    281. </el>
    282. </ROOT>
    283. </T3DataStructure>

    Die userFunc möchte ich ungern posten, da hier diverse Rechenvorgänge stattfinden, die nicht für die breite Öffentlichkeit sind. Allerdings würde ich das auch als Fehlerquelle ausschliessen, da die zugehörige PHP-Datei zwar eingebunden wird, aber die main-Funktion nicht ausgeführt wird bzw. nicht in den Marker eingefügt wird.

    God's in his heaven, all's right with the world

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    24. 10. 2013, 10:39

    Schau dir mal diese Seite hier an, die erklärt die verschiedenen Modi ganz gut:
    http://www.typo3-media.com/blog/localisation-secrets.html

    Du schreibst: "Nun kam aber noch eine 2. Sprache dazu."
    Dumme Frage: Arbeitest du mit Inline-Lokalisierung, also ein Seitenbaum mit 2 Sprachen,
    oder hast du proSprache jeweils eien eigenen Seitenbaum?
    Dann würde die Condition ja nicht greifen :-)
    Gibt es noch irgendwo anders eine Condition, die die Ausführung von user_kuehlkalk->main verhindert?

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    24. 10. 2013, 11:31

    Zitiert von: jenses

    Gibt es noch irgendwo anders eine Condition, die die Ausführung von user_kuehlkalk->main verhindert?

    Danke, das war der entscheidende Hinweis. Da ich mit dem Template selbst nichts zu tun hatte, sondern nur ein Erweiterungstemplate auf der entsprechenden Seite hinzugefügt habe ich das nicht gemerkt.
    Die Helden die das TS der Seite per Copy&Paste zusammengefügt haben ( ich kenn' die Leute, davon ist stark auszugehen #giggle# ) haben eine Klammer bei einer mehrzeiligen value-Anweisung vergessen, wodurch das nachfolgende TS eher willkürlich funktioniert hat und meine Condition ignoriert wurde.

    Trotzdem danke für den Link, der ist sehr hilfreich!
    Soweit ich das verstehe beschränkt sich die TV-XML Config ja auf die FCEs, hat also nichts mit einem per TS eingefügten Container zu tun, verstehe ich das richtig?

    Vielen Dank für deine Unterstützung jedenfalls!

    God's in his heaven, all's right with the world

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    25. 10. 2013, 09:23

    Zitiert von: Chrissli

    Soweit ich das verstehe beschränkt sich die TV-XML Config ja auf die FCEs, hat also nichts mit einem per TS eingefügten Container zu tun, verstehe ich das richtig?

    Sorry, ich verstehe deine Frage nicht...
    Das von dir gepostetet DS-XML gehört doch zu einem Seitentemplate und nicht zu einem FCE?
    Im Prinzip beschreibt die Data Structure DS Anzahl und Eigenschaften der "Spalten" einer Seite und woher deren Inhalt kommt - also ob es sich um ganz normalen Inhalt aus tt_content handelt, oder um ein Typoscript-Objekt. Beim Mapping werden dann diese "Spalten" mit HTML-Elementen aus deiner HTML-Vorlage konnektiert, diese sind sozusagen deine Marker.

  • 1