我试图解决TYPO3设计问题的实现。 基本上我必须实现一个标签式菜单(仅在活动状态标签)这是从目录中生成的,但每个活动(标签)菜单中必须有一个不同的背景色(匹配的标签盒体)。 我选择了最初使用TMENU但被介绍给前面的路optionsplit功能来实现这一点,但我不能想办法这个使用TMENU所以我目前正在与GMENU实验实现的,但我没有得到正确的结果。 下面是我当前的代码,给了我空白的空间。 我与复制标签图像和集中的图像中的文本,但是在使用optionsplit复制文件试验。
temp.navmenu1 = HMENU
special = directory
special.value = {$idMenu}
entryLevel = 1
temp.navmenu1.1 = GMENU
temp.navmenu1.1 {
NO = 1
NO{
NO.Wrap = <ul style="display: inline; "> | </ul>
backColor = #d9d9d9
10 = TEXT
10.text.field = title
10.offset = 0,5
10.align = center
10.niceText = 1
}
ACT < .NO
ACT{
XY = [4.w],[4.h]
4 = IMAGE
4.file = {$hmtab}|*|{$midtab}|*|{$endtab}
}
}
# Temp items aren't rendered, so let's copy it into a TSOP
tv.navmenu1 < temp.navmenu1
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
我不认为一个新的网站应该使用GMENU
了。 相反,你应该使用TMENU
与CSS。
这是应该让你开始,一个基本的例子:
10 = HMENU
10 {
special = directory
# start with pid 3
special.value = 3
1 = TMENU
1 {
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagTitle = abstract // description // title
}
ACT < .NO
ACT.wrapItemAndSub = <li class="active">|</li>
CUR < .NO
CUR.wrapItemAndSub = <li class="current">|</li>
}
2 < .1
3 < .1
4 < .1
4.wrap = <ul class="level-4">|</li>
}
当然,你现在可以使用option split
为wrapItemAndSub
像这样: wrapItemAndSub = <li class="first">|</li> |*| <li class="normal">|</li> |*| <li class="last">|</li>
wrapItemAndSub = <li class="first">|</li> |*| <li class="normal">|</li> |*| <li class="last">|</li>
在随后只是正常的CSS休息。
如果你的问题是要对不同类的属性相同级别包装不同的子menues,然后看看在TMENU对象的submenuObjSuffixes财产。
虽然这是不可能保鲜膜使用optionsplit(只是因为包装只执行一次),这是非常可能获得使用submenuObjSuffixes期望的结果。
下面是一个例子:
1 = TMENU
1 {
wrap = <ul>|</ul>
submenuObjSuffixes = |*| b |*| c
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
}
2 < .1
2.wrap = <ul class="firstItem">|</ul>
2b < .1
2b.wrap = <ul class="middleItems">|</ul>
2c < .1
2c.wrap = <ul class="lastItem">|</ul>
3 < .2
3b < .2b
3c < .2c
4 < .2
4b < .2b
4c < .2c
这将包裹第一第二级菜单带班“与firstItem”,用“lastItem”,并以一流的“middleItems”所有inbetweens最后2级菜单。
请您理解,后缀会附加到所有后续的菜单级。 所以,如果你使用1级submenuObjSuffixes它不仅会影响到2级,而且级别3,4,......,你必须定义相应的这些层面的选项太多,否则将不会被渲染。