[英]How can I split and wrap HMENU items in TYPO3?
我正在尝试使用TypoScript创建自定义菜单,我有8个菜单项,并且我想删除前2个菜单项的CSS类“ dropdown_1column和dropdown_1column”,但我不知道如何?
我已经体验过Typoscript onSplit函数可能存在的问题,这段代码有什么问题?
wrap = <ul class="levels">|</ul>|| <ul class="levels">|</ul>|*|<div class="dropdown_1column"><div class="col_1 firstcolumn"><ul class="levels">|</ul></div></div>||<ul class="levels">|</ul>
前两项应包装在:
<ul class="levels">|</ul>
其余物品应包装在:
<div class="dropdown_1column"><div class="col_1 firstcolumn"><ul class="levels">|</ul></div></div>
这是我的html输出:
<li>
<a class="drop" href="blblbl/">item</a>
<div class="dropdown_1column">
<div class="col_1 firstcolumn">
<ul class="levels">
<li>
<li>
<li>
</ul>
</div>
</li>
而且一定是这样
<li>
<a class="drop" href="blblbl/">item</a>
<div>
<div>
<ul class="levels">
<li>
<li>
<li>
</ul>
</div>
</li>
谢谢你的帮助。
您可以使用optionSplit来根据项目的位置设置格式,也可以将菜单分为两部分,并使用begin和maxItems定义要使用的项目范围。
后者不太复杂,但应该可以为您提供良好的服务:
10 = COA
10 {
10 = HMENU
10 {
# your menu definition here
maxItems = 2
wrap = <ul class="levels">|</ul>
}
20 = HMENU
20 {
# your menu definition here
begin = 3
wrap = <div class="dropdown_1column"><div class="col_1 firstcolumn"><ul class="levels">|</ul></div></div>
}
}
您的选项拆分语法错误。 它必须是first |*| middle |*| last
first |*| middle |*| last
first |*| middle |*| last
。 元素从头开始归档。 您可以使用双管道( ||
)进一步拆分每个属性。
first || second |*| middle |*| second last || last
因此应该
wrap = <ul class="levels">|</ul>|| <ul class="levels">|</ul>|*| <div class="dropdown_1column"><div class="col_1 firstcolumn"><ul class="levels">|</ul></div></div> |*| <div class="dropdown_1column"><div class="col_1 firstcolumn"><ul class="levels">|</ul></div></div>
具有以下格式
first || second |*| middle |*| last
而中间部分和最后部分共享相同的代码
我会说没有人在这里读过TSref :)
根据optionSplit 1的第4条规则:
“如果没有最后一部分,则重复中间值”
因此,最优雅,最短的optionSplit语法为:
first || second |*| the_rest
在Typoscript代码中,它将类似于:
<ul class="levels">|</ul> || <ul class="levels">|</ul> |*| <div class="dropdown_1column"><div class="col_1 firstcolumn"><ul class="levels">|</ul></div></div>
您编写的optionSplit具有如下语法:
F || S |*| M1 || M2
产生如下菜单:
F S M1 M2 M1 M2 M1 M2....
因为中间部分(最后一个,或者如果没有)将在第一部分之后连续重复。
有关optionSplit的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.