使用打字脚本在TYPO3中使用Humenu创建菜单
我的目标是创建一个Typo36菜单,它可以有多行。假设我有10个项目需要在菜单中列出,那么5个项目应该在第一行,然后是其他5个项目 但是如果只有6个,那么第一行有3个,然后下一行有3个 但如果只有2个或任何小于4的数字,则应将它们全部列在一行中使用打字脚本在TYPO3中使用Humenu创建菜单,menu,typo3,typoscript,Menu,Typo3,Typoscript,我的目标是创建一个Typo36菜单,它可以有多行。假设我有10个项目需要在菜单中列出,那么5个项目应该在第一行,然后是其他5个项目 但是如果只有6个,那么第一行有3个,然后下一行有3个 但如果只有2个或任何小于4的数字,则应将它们全部列在一行中 用于10项 Item-1 Item-2 Item-3 Item-4 Item-5 Item-6 Item-7 Item-8 Item-9 Item-10 Item-1 Item-2 Item-3 Item-4 Item-5 Item-6 For
用于10项
Item-1 Item-2 Item-3 Item-4 Item-5
Item-6 Item-7 Item-8 Item-9 Item-10
Item-1 Item-2 Item-3
Item-4 Item-5 Item-6
For <4 items
Item-1 Item-2 Item-3
Item-1 Item-2 Item-3 Item-4
Item-5
用于6项
Item-1 Item-2 Item-3 Item-4 Item-5
Item-6 Item-7 Item-8 Item-9 Item-10
Item-1 Item-2 Item-3
Item-4 Item-5 Item-6
For <4 items
Item-1 Item-2 Item-3
Item-1 Item-2 Item-3 Item-4
Item-5
到目前为止,我有:
lib.level1Menu = COA
lib.level1Menu {
10 = HMENU
10.1 = TMENU
10.1 {
wrap = <center><ul><br/>|</ul></center>
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)/2
wrap = <li><br/>|</li>
}
}
}
20 < .10
20.1.wrap = <center><ul><br/>|</ul></center>
20.1.NO.stdWrap.cObject.if.negate >
}
lib.level1Menu=COA
lib.level1菜单{
10=汉努
10.1=t菜单
10.1 {
包裹=
没有{
stdWrap.cObject=COA
stdWrap.cObject{
10=文本
10.字段=标题
if.value.data=寄存器:count\u menu\u MENUOBJ
if.negate=1
如果.islesson.prioriCalc=1
如果.isLessThan.cObject=TEXT
如果.isLessThan.cObject.insertData=1
if.isLessThan.cObject.value=({register:count\u menuItems}+1)/2
包裹=
|
}
}
}
20 < .10
20.1.wrap=
20.1.NO.stdWrap.cObject.if.negate>
}
它不能正常工作。根据设计,通过CSS给ul一个宽度并浮动li的内部不是更容易(也更语义化)吗?另一个选项是使用JS在需要的位置设置分隔符和/或编写自定义插件,使用纯TSI来实现这一点是相当困难的,未测试:也许您可以使用optionSplit编写一些东西:我建议使用CSS方法和float and with(konsolenfreddy的注释)或:n子选择器来选择每6个元素,并在其上使用clear:两者。请看这里:是的,在CSS下管理菜单更有意义,但我想知道在TS中是否有更干净的方法。谢谢大家的帮助:)