[Frage] Erweiterungstemplate Problem TYPO3-Version: -

  • 3dxO 3dxO
    R2-D2
    0 x
    89 Beiträge
    1 Hilfreiche Beiträge
    07. 04. 2016, 16:48

    Hallo,

    als ich heute an einer Seite weiterarbeiten wollte habe ich festgestellt, dass ein Erweiterungstemplate auf einmal nicht mehr funktioniert.

    Ich habe keine Änderungen daran vorgenommen. Gibt es irgend eine Möglichkeit herauszufinden was da los ist? Gibt es sowas wie eine Debug Info des Templates??

    Hier mal das Erweiterungstemplate:

    1. /*
    2. [treeLevel = 1]
    3. temp.submenu = HMENU
    4. temp.submenu {
    5. excludeUidList = 69
    6. entryLevel = 1
    7. 1 = TMENU
    8. 1 {
    9.   expAll = 1
    10.   NO.wrapItemAndSub = <li>|</li>
    11.   IFSUB = 1
    12.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    13.   ACT < .NO
    14.   ACT = 1
    15.   ACT.wrapItemAndSub = <li class="active">|</li>
    16.   ACT.ATagParams = class="active"
    17.   ACTIFSUB = 1
    18.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    19.   ACTIFSUB.ATagParams = class="active"
    20. }
    21. }
    22.  
    23. [treeLevel = 2]
    24. temp.submenu = HMENU
    25. temp.submenu {
    26. entryLevel = 2
    27. 1 = TMENU
    28. 1 {
    29.   expAll = 1
    30.   NO.wrapItemAndSub = <li>|</li>
    31.   IFSUB = 1
    32.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    33.   ACT < .NO
    34.   ACT = 1
    35.   ACT.wrapItemAndSub = <li class="active">|</li>
    36.   ACT.ATagParams = class="active"
    37.   ACTIFSUB = 1
    38.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    39.   ACTIFSUB.ATagParams = class="active"
    40. }
    41. stdWrap.ifEmpty.cObject = HMENU
    42. stdWrap.ifEmpty.cObject {
    43. entryLevel = 1
    44. 1 = TMENU
    45. 1 {
    46.   expAll = 1
    47.   NO.wrapItemAndSub = <li>|</li>
    48.   IFSUB = 1
    49.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    50.   ACT < .NO
    51.   ACT = 1
    52.   ACT.wrapItemAndSub = <li class="active">|</li>
    53.   ACT.ATagParams = class="active"
    54.   ACTIFSUB = 1
    55.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    56.   ACTIFSUB.ATagParams = class="active"
    57. }
    58. }
    59.  
    60. [treeLevel = 3]
    61. temp.submenu = HMENU
    62. temp.submenu {
    63. entryLevel = 3
    64. 1 = TMENU
    65. 1 {
    66.   expAll = 1
    67.   NO.wrapItemAndSub = <li>|</li>
    68.   IFSUB = 1
    69.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    70.   ACT < .NO
    71.   ACT = 1
    72.   ACT.wrapItemAndSub = <li class="active">|</li>
    73.   ACT.ATagParams = class="active"
    74.   ACTIFSUB = 1
    75.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    76.   ACTIFSUB.ATagParams = class="active"
    77. }
    78. stdWrap.ifEmpty.cObject = HMENU
    79. stdWrap.ifEmpty.cObject {
    80. entryLevel = 2
    81. 1 = TMENU
    82. 1 {
    83.   expAll = 1
    84.   NO.wrapItemAndSub = <li>|</li>
    85.   IFSUB = 1
    86.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    87.   ACT < .NO
    88.   ACT = 1
    89.   ACT.wrapItemAndSub = <li class="active">|</li>
    90.   ACT.ATagParams = class="active"
    91.   ACTIFSUB = 1
    92.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    93.   ACTIFSUB.ATagParams = class="active"
    94. }
    95. }
    96.  
    97. [treeLevel = 4]
    98. temp.submenu = HMENU
    99. temp.submenu {
    100. entryLevel = 4
    101. 1 = TMENU
    102. 1 {
    103.   expAll = 1
    104.   NO.wrapItemAndSub = <li>|</li>
    105.   IFSUB = 1
    106.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    107.   ACT < .NO
    108.   ACT = 1
    109.   ACT.wrapItemAndSub = <li class="active">|</li>
    110.   ACT.ATagParams = class="active"
    111.   ACTIFSUB = 1
    112.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    113.   ACTIFSUB.ATagParams = class="active"
    114. }
    115. stdWrap.ifEmpty.cObject = HMENU
    116. stdWrap.ifEmpty.cObject {
    117. entryLevel = 3
    118. 1 = TMENU
    119. 1 {
    120.   expAll = 1
    121.   NO.wrapItemAndSub = <li>|</li>
    122.   IFSUB = 1
    123.   IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    124.   ACT < .NO
    125.   ACT = 1
    126.   ACT.wrapItemAndSub = <li class="active">|</li>
    127.   ACT.ATagParams = class="active"
    128.   ACTIFSUB = 1
    129.   ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    130.   ACTIFSUB.ATagParams = class="active"
    131. }
    132. }
    133. [end]
    134. */
    135.  
    136. temp.content = CONTENT
    137. temp.content {
    138. slide = -1;
    139. table = tt_content
    140.  
    141. select.orderBy = sorting
    142. select.where = colPos = 0
    143. select.languageField = sys_language_uid
    144. }
    145.  
    146. temp.zusatzinfo = COA
    147. temp.zusatzinfo {
    148. wrap = <div id="zusatzinfo">|</div>
    149. 10 = CONTENT
    150. 10 {
    151. table = tt_content
    152. select.orderBy = sorting
    153. select.where = colPos = 2
    154. select.languageField = sys_language_uid
    155. }
    156. }
    157.  
    158. temp.inhalt = COA
    159. temp.inhalt {
    160. 10 = TEXT
    161. 10.value = <div id="submenu" class="noprint"><div><ul>
    162. 20 = COA
    163. 20 < temp.submenu
    164. 30 = TEXT
    165. 30.wrap = </ul><p><br><br>|</p>
    166. 30.value = ....
    167. 40 = COA
    168. 40 < temp.zusatzinfo
    169. 50 = TEXT
    170. 50.value = </div></div>
    171. 60 = COA
    172. 60 < temp.content
    173. 60.wrap = <div id="content">|</div>
    174. }
    175.  
    176. page.bodyTagAdd = data-cat="product"
    177.  
    178. page.30.30 = COA
    179. page.30.30 < temp.inhalt
    180. page.30.30.wrap = <div id="inhalt">|</div>

    Ich habe die Menü-Geschichte auskommentiert und zumindest die Zusatzinfo wird dann angezeigt. Also scheint da irgendwie der Wurm drin zu sein. Was ich nicht verstehe warum es bisher funktioniert hat und jetzt nicht mehr.

    Ziel der Übung ist es, ein Untermenü zu zeigen welches immer die nächste Tiefe anzeigt. Oder, wenn da keine Unterseiten mehr sind die aktuelle Tiefe.

    Ich bin total verzweifelt.. wäre schön wenn da mal jemand draufschauen könnte.


  • 1
  • 3dxO 3dxO
    R2-D2
    0 x
    89 Beiträge
    1 Hilfreiche Beiträge
    07. 04. 2016, 17:35

    es scheint definitiv mit dem ifEmpty gedöns zu tun zu haben. Kann mir da jemand n Tipp geben, was ich machen muss um im Falle wenn keine Unterseiten vorhanden sind, die aktuelle Ebene anzuzeigen?

    Aktueller Zustand:

    1. [treeLevel = 1]
    2. temp.submenu = HMENU
    3. temp.submenu {
    4. entryLevel = 1
    5. 1 = TMENU
    6. 1 {
    7. expAll = 1
    8. NO.wrapItemAndSub = <li>|</li>
    9. IFSUB = 1
    10. IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    11. ACT < .NO
    12. ACT = 1
    13. ACT.wrapItemAndSub = <li class="active">|</li>
    14. ACT.ATagParams = class="active"
    15. ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    16. ACTIFSUB.ATagParams = class="active"
    17. }
    18. }
    19. [treeLevel = 2]
    20. temp.submenu = HMENU
    21. temp.submenu {
    22. entryLevel = 2
    23. 1 = TMENU
    24. 1 {
    25. expAll = 1
    26. NO.wrapItemAndSub = <li>|</li>
    27. IFSUB = 1
    28. IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    29. ACT < .NO
    30. ACT = 1
    31. ACT.wrapItemAndSub = <li class="active">|</li>
    32. ACT.ATagParams = class="active"
    33. ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    34. ACTIFSUB.ATagParams = class="active"
    35. }
    36. }
    37. [treeLevel = 3]
    38. temp.submenu = HMENU
    39. temp.submenu {
    40. entryLevel = 3
    41. 1 = TMENU
    42. 1 {
    43. expAll = 1
    44. NO.wrapItemAndSub = <li>|</li>
    45. IFSUB = 1
    46. IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    47. ACT < .NO
    48. ACT = 1
    49. ACT.wrapItemAndSub = <li class="active">|</li>
    50. ACT.ATagParams = class="active"
    51. ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    52. ACTIFSUB.ATagParams = class="active"
    53. }
    54. }
    55. [treeLevel = 4]
    56. temp.submenu = HMENU
    57. temp.submenu {
    58. entryLevel = 4
    59. 1 = TMENU
    60. 1 {
    61. expAll = 1
    62. NO.wrapItemAndSub = <li>|</li>
    63. IFSUB = 1
    64. IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    65. ACT < .NO
    66. ACT = 1
    67. ACT.wrapItemAndSub = <li class="active">|</li>
    68. ACT.ATagParams = class="active"
    69. ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    70. ACTIFSUB.ATagParams = class="active"
    71. }
    72. }
    73. [end]

    So funktioniert es bis auf den letzten Schritt. Wenn keine Unterseiten mehr vorhanden sind wird auch nichts angezeigt.

  • 3dxO 3dxO
    R2-D2
    0 x
    89 Beiträge
    1 Hilfreiche Beiträge
    07. 04. 2016, 17:48

    und warum funktioniert es wenn im Template for treeLevel folgende Zeilen enthalten sind:
    /*

    */

    und wenn ich die wegnehme, dann nicht mehr? Ich werd hier kirre :|

  • 3dxO 3dxO
    R2-D2
    0 x
    89 Beiträge
    1 Hilfreiche Beiträge
    07. 04. 2016, 18:02

    Und da war der Knackpunkt :D im Haupt-Template war ein Kommentar nicht geschlossen... jetzt klappt alles so wie es ganz am Anfang der Fall war...

    Mannomann, jetzt bin ich echt erleichert :D

  • 3dxO 3dxO
    R2-D2
    0 x
    89 Beiträge
    1 Hilfreiche Beiträge
    07. 04. 2016, 18:02

    Und da war der Knackpunkt :D im Haupt-Template war ein Kommentar nicht geschlossen... jetzt klappt alles so wie es ganz am Anfang der Fall war...

    Mannomann, jetzt bin ich echt erleichtert :D

  • 3dxO 3dxO
    R2-D2
    0 x
    89 Beiträge
    1 Hilfreiche Beiträge
    07. 04. 2016, 18:02

    Und da war der Knackpunkt :D im Haupt-Template war ein Kommentar nicht geschlossen... jetzt klappt alles so wie es ganz am Anfang der Fall war...

    Mannomann, jetzt bin ich echt erleichtert :D

    Und falls jemand die gekürzte Fassung für so ein Untermenü gebrauchen kann, hier mein Script:

    1. lib._submenu = HMENU
    2. lib._submenu {
    3. 1 = TMENU
    4. 1 {
    5. expAll = 1
    6. NO.wrapItemAndSub = <li>|</li>
    7. IFSUB = 1
    8. IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    9. ACT < .NO
    10. ACT = 1
    11. ACT.wrapItemAndSub = <li class="active">|</li>
    12. ACT.ATagParams = class="active"
    13. ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    14. ACTIFSUB.ATagParams = class="active"
    15. SPC = 1
    16. SPC.wrapItemAndSub = <li class="trenner">|</li>
    17. SPC.doNotShowLink = 0
    18. }
    19. 1 = TMENU
    20. 1 {
    21. expAll = 1
    22. NO.wrapItemAndSub = <li>|</li>
    23. IFSUB = 1
    24. IFSUB.wrapItemAndSub = <li class="hasSub">|</li>
    25. ACT < .NO
    26. ACT = 1
    27. ACT.wrapItemAndSub = <li class="active">|</li>
    28. ACT.ATagParams = class="active"
    29. ACTIFSUB.wrapItemAndSub = <li class="hasSub active">|</li>
    30. ACTIFSUB.ATagParams = class="active"
    31. SPC = 1
    32. SPC.wrapItemAndSub = <li class="trenner">|</li>
    33. SPC.doNotShowLink = 0
    34. }
    35. }
    36. }
    37. [treeLevel = 1]
    38. lib._submenu = HMENU
    39. lib._submenu {
    40. entryLevel = 1
    41. }
    42.  
    43. [treeLevel = 2]
    44. lib._submenu = HMENU
    45. lib._submenu {
    46. entryLevel = 2
    47. entryLevel = 1
    48. }
    49. }
    50.  
    51. [treeLevel = 3]
    52. lib._submenu = HMENU
    53. lib._submenu {
    54. entryLevel = 3
    55. entryLevel = 2
    56. }
    57. }
    58.  
    59. [treeLevel = 4]
    60. lib._submenu = HMENU
    61. lib._submenu {
    62. entryLevel = 4
    63. entryLevel = 3
    64. }
    65. }
    66. [end]

  • 1