Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 02.06.2011, 01:06   #1
tram
Новенький
 
Регистрация: 01.06.2011
Сообщений: 4
По умолчанию Генерарция иерархического меню

Доброго времени суток.
Помогите, пожалуйста, с созданием tsconfig-а для генерации иерархического меню.

Суть вопроса - необходимо, что б меню имело следующую структуру:
<div class="l1">Element1 Level1</div>
<div class="l1">Element2 Level1</div>
<div class="l1">Element3 Level1
<div class="l2">Elem1 Level2</div>
<div class="l2">Elem2 Level2</div>
</div>
<div class="l1">Element4 Level1</div>

Но мне упорно выдет структуру:
<div class="l1">Element1 Level1</div>
<div class="l1">Element2 Level1</div>
<div class="l1">Element3 Level1</div>
<div class="l2">Elem1 Level2</div>
<div class="l2">Elem2 Level2</div>
<div class="l1">Element4 Level1</div>

Пересмотрев различные примеры и документацию нашел только одно решение: принять структуру как есть и выстраивать отображение с помощью css.
Но данное решение не подходит, это во первых.
А во вторых - чувствую что нужное решение есть, а найти не могу.

Буду признателен за помощь.
tram вне форума   Ответить с цитированием
Старый 02.06.2011, 17:55   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Из какой структуры страниц вы генерируете меню? Приведите пример, скриншот.
dmartynenko вне форума   Ответить с цитированием
Старый 03.06.2011, 03:14   #3
tram
Новенький
 
Регистрация: 01.06.2011
Сообщений: 4
По умолчанию

Структура - самая что ни на есть простая:
Some root level page
Element1 level1 page
Element11 level2 page
Element12 level2 page
Element2 level1 page
Element21 level2 page
Element22 level2 page
Element3 level1 page
Element31 level2 page
Element32 level2 page
Сократил и упростил ts-файл по построению меню - в принципе базовая версия большинства примеров получилась. Можем от него отталкиваться.
Его содержание:

Код:
[GLOBAL]

page.20.subparts.LEFTMENU >

page.20.subparts {
  LEFTMENU = COA
  LEFTMENU {
    10 = HMENU
    10 {
      entryLevel = 1
      1 = TMENU
      1 {
        NO {
         allStdWrap.innerWrap (
           <div class="l1">|</div>
         )
        }
        ACT < .NO
        ACT = 1
        ACT {
          ATagParams = class="current"
        }
      }
      2 = TMENU
      2 {
        NO {
          allStdWrap.innerWrap (
            <div class="l2">|</div>
          )
        }
        ACT = 1
        ACT {
          ATagParams = class="current"
        }
      }
    }
  }
}

[GLOBAL]
tram вне форума   Ответить с цитированием
Старый 04.06.2011, 01:50   #4
filippoff
Senior Member
 
Аватар для filippoff
 
Регистрация: 22.01.2006
Адрес: Санкт-Петербург
Сообщений: 285
Отправить сообщение для filippoff с помощью ICQ Отправить сообщение для filippoff с помощью Skype™
По умолчанию

используйте wrapItemAndSub для элементов с подменю, либо wrap для всего меню
а вообще, ваше меню с вложенными дивами просится на переделку в список.
filippoff вне форума   Ответить с цитированием
Старый 05.06.2011, 16:19   #5
tram
Новенький
 
Регистрация: 01.06.2011
Сообщений: 4
Post

Спасибо за ответ, но wrapItemAndSub и wrap делают нужную обертку, но отнюдь не помогают с местом расположения елементов.

Цитата:
а вообще, ваше меню с вложенными дивами просится на переделку в список.
Да, так и есть Меню должен формировать с вложенными один в другой списками ul & li без ограничения по уровню вложенности.
То есть конечный результат должен таким быть:
<ul>
<li class="l1">Element1 Level1</li>
<li class="l1">Element2 Level1</li>
<li class="l1">Element3 Level1
<ul>
<li class="l2">Elem1 Level2</li>
<li class="l2">Elem2 Level2</li>
</ul>
</li>
<li class="l1">Element4 Level1</li>
</ul>
Но показалось, что так больше запутаю своим вопросом
tram вне форума   Ответить с цитированием
Старый 06.06.2011, 01:26   #6
filippoff
Senior Member
 
Аватар для filippoff
 
Регистрация: 22.01.2006
Адрес: Санкт-Петербург
Сообщений: 285
Отправить сообщение для filippoff с помощью ICQ Отправить сообщение для filippoff с помощью Skype™
По умолчанию

вот здесь такая схема: http://cobra-garant.ru
Код:
lib.mainMenu.10 = HMENU
lib.mainMenu.10 { 
  entryLevel = 0
  #expAll = 1
  wrap = <ul class="sf-menu">|</ul>
  1 = TMENU
  1 {
      noBlur=1
      expAll = 1
  
      NO {
         wrapItemAndSub = <li>|</li>
         #doNotLinkIt = 1
         ATagParams = onClick="return false;"
      }
      
      ACT = 1
      ACT {
            wrapItemAndSub = <li class="current">|</li>
              ATagParams = onClick="return false;"
      }
  }
  2 = TMENU
  2 {
    noBlur=1
    expAll = 1
    wrap = <ul>|</ul>
    NO {
         wrapItemAndSub = <li>|</li>
    }
    
    ACT = 1
    ACT {
         wrapItemAndSub = <li class="current">|</li>
    }
  }
}
filippoff вне форума   Ответить с цитированием
Старый 07.06.2011, 00:43   #7
tram
Новенький
 
Регистрация: 01.06.2011
Сообщений: 4
По умолчанию

Вуаля!!!
Уважаемый filippoff, премного благодарен!
Земля таки крутится, а меню выстроилось как нужно
tram вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двухуровневое меню в разных div vip1321 Общие вопросы 5 03.05.2011 10:54
Рендеринг меню в таблицу AleXUnder Общие вопросы 3 26.03.2009 17:55
Создать ещё одно меню, как? djolejek Общие вопросы 6 03.12.2008 17:29
Разметка каскадного вложенного меню в TemplaVoila maaboo Общие вопросы 7 27.07.2008 17:11
Меню из подстраниц Grank Общие вопросы 6 31.01.2005 18:46


Часовой пояс GMT +4, время: 13:04.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория