Mehrzeilige GMENU-Menüs in Typo3 (Zeilenumbrüche bei GMENU)

Mittwoch, 27. Januar 2010

Problem: Man möchte ein GMENU (Grafisches Menü) mit mehrzeiligem Text erzeugen. Das geht relativ einfach mit diesem TypoScript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
lib.hauptmenue {
 
   entryLevel = 0
   special = directory
 
  // Hier kommt die Page-ID der Haupt-Seite hin...
   special.value = 7
 
   1 = GMENU
   1.expAll = 0
   1.wrap = 
 
   1.NO = 1
   1.NO {
      wrap = <div class="item first">|</div>|*|<div class="item">|</div>|*|<div class="item last">|</div>
      //wrap = <div>|</div>
      XY = 150, 20+[20.h]
      transparentBackground = 1
      backColor = #220E05
      transparentColor = #220E05
 
      10 = TEXT
      10 {
         text.field = nav_title // title
         text.listNum.splitChar = 13
         text.listNum = 0
         text.case = upper
         text.align = right
         offset = 140-[10.w],15
         fontColor = #ffffff
         fontFile = fileadmin/fonts/seriasans_regular.ttf
         fontSize = 19
         niceText = 1
         antiAlias = 0
      }
 
      20 < .10
      20 {
         text.listNum = 1
         offset = 140-[20.w],10
      }
 
   }
 
 
   1.CUR < .1.NO
   1.CUR {
      wrap = <div class="item selected first">|</div>|*|<div class="item selected">|</div>|*|<div class="item selected last">|</div>
      10.fontFile = fileadmin/fonts/seriasans_bold.ttf
      20.fontFile = fileadmin/fonts/seriasans_bold.ttf
      10.fontColor = #FFCC54
      20.fontColor = #FFCC54
   }
 
   1.ACT < .1.CUR
 
   1.RO < .1.NO
   1.RO {
       10.fontColor = #FFCC54
       20.fontColor = #FFCC54
    }
}

Um die Felder “Navigations-Titel” (nav_title) und “Seiten-Titel” (title) im Backend mehrzeilig zu machen kann man die Datei extTables.php um folgende Zeilen ergänzen:

1
2
3
4
5
$TCA['pages']['columns']['title']['config']['type'] = 'text';
$TCA['pages']['columns']['title']['config']['rows'] = '2';
 
$TCA['pages']['columns']['nav_title']['config']['type'] = 'text';
$TCA['pages']['columns']['nav_title']['config']['rows'] = '2';