Показать сообщение отдельно
Старый 11.01.2011, 14:37   #1
lyova
Продвинутый
 
Регистрация: 23.10.2008
Сообщений: 30
По умолчанию HMENU как згенерировать title в подменю

У меня есть меню такого вида
пункт1
1.1
1.2
....
1.5
пункт2
2.1
2.1.1
2.1.2
....
2.1.5
2.2
2.2.1
2.2.2
....
2.2.5
2.3
2.4
2.5
пункт3
...
пункт5

то есть все пункты(кроме второго, который имеет 3 уровня) имеют 2 уровня. И все 2 уровня являются раскрыты.
Я описываю это меню так
Код:
# Menu 1 cObject
lib.left_menu = HMENU
 # First level menu-object, textual
lib.left_menu.1 = TMENU
lib.left_menu.1 {
  maxItems = 2
  expAll = 1
    # Normal state properties
  NO.allWrap =  <tr><td bgcolor="#deddfb" height="20"><div class="left_menu_1"> | </div></td></tr> 
  NO.stdWrap.htmlSpecialChars = 1
    NO.doNotLinkIt = 1
    # Enable active state and set properties:
  ACT = 1
    ACT.doNotLinkIt = 1
  ACT.stdWrap.htmlSpecialChars = 1
  ACT.allWrap = <tr><td bgcolor="#deddfb" height="20"><div class="left_menu_1"> | </div></td></tr> 
    ACT.doNotLinkIt = 1
}				

   // Second level of left-menu
  lib.left_menu.2 = TMENU
  lib.left_menu.2 {
       wrap = <tr><td height="10'"></td></tr> | <tr><td height="10'"></td></tr>
       NO.allWrap = <tr><td class="white"><div class="left_menu_1_2"> | </div></td></tr>
       NO.stdWrap.htmlSpecialChars = 1
       ACT=1
       ACT.stdWrap.htmlSpecialChars = 1
       ACT.allWrap = <tr><td class="white"><div class="left_menu_1_2_act"> | </div></td></tr>
       }

теперь когда я захожу на любой из подпутктов пункта 2, то если в него есть пункты 3 уровня, то сразу после окончания вывода пункта 2
должен следовать вывод пунктов третьего уровня, то есть когда я заходжу в 2.1 то меню должно выглядеть так

пункт1
1.1
1.2
....
1.5
пункт2
2.1
2.2
....
2.5
3 уровень пункта 2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
пункт3
пункт4
пункт5

То есть оно по внешнему виду выглядит как обичный пункт 2 уровня.
Для этого я выводжу сначала только меню из двух пунктов, потом
выводжу подменю 3 уровня и тогда оставшуюся часть меню

подменю 3 уровня
Код:
lib.left_menu_kaf = HMENU
lib.left_menu_kaf.entryLevel = 2
 // Second level of left-menu
 lib.left_menu_kaf.1 = TMENU
  lib.left_menu_kaf.1 {
       wrap = <tr><td bgcolor="#deddfb" height="20"><div class="left_menu_1">3 уровень пункта {leveltitle:-2}</div></td></tr><tr><td height="10'"></td></tr> | <tr><td height="10'"></td></tr>
       NO.allWrap = <tr><td class="white"><div class="left_menu_1_2"> | </div></td></tr>
       NO.stdWrap.htmlSpecialChars = 1
       ACT=1
       ACT.stdWrap.htmlSpecialChars = 1
       ACT.allWrap = <tr><td class="white"><div class="left_menu_1_2_act"> | </div></td></tr>
       }
То есть оно работает так как мне нужно.
Единственноэ что мне так и не удаётся сделать это правильно згенерировать название "3 уровень пункта 2.1" или "3 уровень пункта 2.2". то есть в зависимости от того какой подпункт я вывожу, соответственно такое название должно генерироваться в строчке
Код:
wrap = <tr><td bgcolor="#deddfb" height="20"><div class="left_menu_1">3 уровень пункта {leveltitle:-2}</div></td></tr><tr><td height="10'"></td></tr> | <tr><td height="10'"></td></tr>
но оно не работает. Как мне вставить сюда допустим {leveltitle:-2}.
lyova вне форума   Ответить с цитированием