Просмотр полной версии : Можно ли разбить пункты меню 2-го уровня на 3 части ?
ov.lovyannikov
15.05.2009, 17:51
вот приблизительно код HTML:
<ul>
<li>
<div id="col">
<div id="col1">
<ul> 1 часть второго уровня
<li></li>
.........
<li></li>
<ul>
</div>
<div id="col2">
<ul>2 часть второго уровня
<li></li>
.........
<li></li>
<ul>
</div>
<div id="footer">
<ul>3 часть второго уровня
<li></li>
.........
<li></li>
<ul>
</div>
</div>
</li>
</ul>
А по какому принципу вы хотите их разбить?
ov.lovyannikov
16.05.2009, 00:39
А по какому принципу вы хотите их разбить?
на 3 равные части (col1,col2,footer).
Где-то так: http://www.actionenvelope.com/
-=UncleByte=-
16.05.2009, 06:43
Напрашивается решение в лоб
lib.menu = COA
lib.menu {
10 = HMENU
10 {
special = directory
special.value = 10
1 = TMENU
1 {
#обычное меню как и всегда
...
}
}
20 < .10
20.special.value = 20
30 < .20
30.special.value = 30
}
В общем как-то так.
ov.lovyannikov
17.05.2009, 00:40
Напрашивается решение в лоб
lib.menu = COA
lib.menu {
10 = HMENU
10 {
special = directory
special.value = 10
1 = TMENU
1 {
#обычное меню как и всегда
...
}
}
20 < .10
20.special.value = 20
30 < .20
30.special.value = 30
}
В общем как-то так.
это не то! 2 уровень на 3 равные части. Тут скорее всего что-то связанное с
register:count_HMENU_MENUOBJ
register:count_menuItems/3
Сниппет с typo3wizard, чуть модифицированный
lib.splitmenu = COA
lib.splitmenu {
10 = HMENU
10.special = directory
10.special.value = 1
10.1 = TMENU
10.1 {
wrap = <div>1st part<br>|</div>
NO {
stdWrap.cObject = COA
stdWrap.cObject {
10 = TEXT
10.field = title
if.value.data = register:count_HMENU_MENUOBJ
if.negate = 1
if.isLessThan.prioriCalc=1
if.isLessThan.cObject=TEXT
if.isLessThan.cObject.insertData=1
if.isLessThan.cObject.value = ({register:count_menuItems}+1)/3
wrap = |<br>
}
}
}
20 < .10
20.1.wrap = <div>2nd part<br>|</div>
20.1.NO.stdWrap.cObject.if.isLessThan.cObject.valu e = ({register:count_menuItems}+1)*2/3
30 < .10
30.1.wrap = <div>3rd part<br>|</div>
30.1.NO.stdWrap.cObject.if.isLessThan >
30.1.NO.stdWrap.cObject.if.isGreaterThan{
prioriCalc=1
cObject=TEXT
cObject.insertData=1
cObject.value = ({register:count_menuItems}+1)*2/3
}
}
ov.lovyannikov
18.05.2009, 10:25
Сниппет с typo3wizard, чуть модифицированный
lib.splitmenu = COA
lib.splitmenu {
10 = HMENU
10.special = directory
10.special.value = 1
10.1 = TMENU
10.1 {
wrap = <div>1st part<br>|</div>
NO {
stdWrap.cObject = COA
stdWrap.cObject {
10 = TEXT
10.field = title
if.value.data = register:count_HMENU_MENUOBJ
if.negate = 1
if.isLessThan.prioriCalc=1
if.isLessThan.cObject=TEXT
if.isLessThan.cObject.insertData=1
if.isLessThan.cObject.value = ({register:count_menuItems}+1)/3
wrap = |<br>
}
}
}
20 < .10
20.1.wrap = <div>2nd part<br>|</div>
20.1.NO.stdWrap.cObject.if.isLessThan.cObject.valu e = ({register:count_menuItems}+1)*2/3
30 < .10
30.1.wrap = <div>3rd part<br>|</div>
30.1.NO.stdWrap.cObject.if.isLessThan >
30.1.NO.stdWrap.cObject.if.isGreaterThan{
prioriCalc=1
cObject=TEXT
cObject.insertData=1
cObject.value = ({register:count_menuItems}+1)*2/3
}
}
2 и 3 часть кода работают неправильно - вторая часть отображает 2/3 меню, а не 2 часть.
Ну подправьте чуток - идея-то понятна
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot