PDA

Просмотр полной версии : 3-х колоночное меню


agravin
13.06.2014, 16:42
Добрый день, форумчане. Опять ищу вашего совета. Надобно сделать дополнительное меню из 3-х колонок. Такого формата:

<div class="three_columns second_nav">
<div class="left_column">
<div class="block_wrap">
<ul>
<li><a href="/">Раздел 1</a></li>
<li><a href="/">Раздел 2</a></li>
<li><a href="/">Раздел 3</a></li>
</ul>
</div>
</div>
<div class="center_column">
<div class="block_wrap">
<ul>
<li><a href="/">Раздел 4</a></li>
<li><a href="/">Раздел 5</a></li>
<li><a href="/">Раздел 6</a></li>
</ul>
</div>
</div>
<div class="right_column">
<div class="block_wrap">
<ul>
<li><a href="/">Раздел 7</a></li>
<li><a href="/">Раздел 8</a></li>
<li><a href="/">Раздел 9</a></li>
</ul>
</div>
</div>
</div>


Причем для множества разделов, поэтому special.value отпадает.
Реально эту задачу в typoscipt решить?
Если "да", то подскажите, пожалуйста, в каком направлении копать!

-=UncleByte=-
13.06.2014, 23:02
В принципе special.value может быть и такой вот:
### left_menu ###
lib.lmenu = HMENU
lib.lmenu {
special = directory
special.value = 0
special.value.data = fullRootLine : 1, uid

#stdWrap.insertData = 1
1 = TMENU
1 {
expAll = 1
NO {
linkWrap = <li>|</li>
}
ACT = 1
ACT {
linkWrap = <li>|</li>
ATagParams = class="act"
}
wrap = <ul id="lmenu">|</ul>
}
}
[treeLevel = 0]
lib.lmenu >
[END]
### /left_menu ###
Возможно пригодится как пища для размышлений.

Ивано++
13.06.2014, 23:28
Самый простой способ (опишу только идею)



lib.menu = COA
lib.menu.10 = TEXT
lib.menu.10.value = <div class="three_columns second_nav">
lib.menu.20 = HMENU
lib.menu.20.wrap = <div class="left_column">|</div>
lib.menu.30 = HMENU
lib.menu.30.wrap = <div class="left_column">|</div>
lib.menu.40 = HMENU
lib.menu.40.wrap = <div class="left_column">|</div>
lib.menu.50 = TEXT
lib.menu.50.value = </div>



А дальше там уже надо смотреть задачу и макеты.

Ивано++
13.06.2014, 23:32
+ если меню выпадающие - то разбивку на колонки можно сделать на jQuery!:)

agravin
14.06.2014, 19:15
Спасибо всем откликнувшимся. К сожалению знаний не хватило довести до ума при помощи typoscript.
Решил при помощи css - .second_nav li {
float: left;
width: 33%;
}

Обидно конечно, но иначе пришлось еще пару дней над скриптом думать(

Ивано++
14.06.2014, 19:53
Обычно потом начинается, что это должно быть отсортировано еще каким-то образом:)