错字3:将H-menu第一级li添加到类动态

时间:2014-09-02 13:39:51

标签: typo3 menuitem typoscript

我为我的网站创建菜单工作正常,但现在的问题是我想将自定义类添加到每个li到第一级。

我的错字脚本下面对于菜单,我为每个li添加了课程,但除了第一个和最后一个之外,所有其他课程的2个li课程调用。那么知道需要做些什么呢?

lib.header_top_right = COA
lib.header_top_right {
    10 = HMENU
    10 {
        wrap = <div class="menu-main-container">|</div>
        entryLevel = 0
        1 = TMENU
        1 {
            expAll = 1
            wrap =   <ul id="menu-main-1" class="main-nav">|</ul>
            target = _top
            NO {
                wrapItemAndSub = <li class="home">|</li>|*|<li class="service">|</li>|*|<li class="contact">|</li>|*|<li class="l">|</li>|*|<li class="contact">|</li>
                stdWrap.wrap = <span class="nav-title">|</span><span class="hr">&nbsp;</span>
            }
            ACT < .NO
            ACT = 1

            CUR < .NO
            CUR = 1
            CUR {
                stdWrap.wrap = <span class="nav-title">|</span><span class="hr">&nbsp;</span>
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我们假设您有第一个级别的三个菜单项。 &#34; Home&#34;,&#34; Service&#34;和&#34;联系&#34;。

你的optionsplit就是这样的:

wrapItemAndSub = <li class="home">|</li>||<li class="service">|</li>||<li class="contact">|</li>

通常,您可以使用以下三个部分拆分值(在您的情况下为wrapItemAndSub):| * |

first |*| middle |*| last

您可以使用以下方法拆分每个部分:||

firstsubpart1 || firstsubpart2 |*| middlesubpart1 ...

分割有4条规则:

  1. 优先级为:last,first,middle
  2. 如果中间部分是emtpy,则重复第一部分的最后一部分
  3. 如果第一个和中间部分为空,则最后一部分的第一部分在最后一个
  4. 之前重复
  5. 中间重复
  6. 您可以在typo3 docs - optionsplit

    中找到一些示例和此解释

    虽然你可以通过optionsplit达到你的目标,但我不会那样推荐它。如果您的网站结构是并且始终将被修复,那么optionsplit解决方案就可以了。如果您的网站结构发生变化,并且您的第一个级别会添加其他链接,则您必须更改菜单的拼写错误。到&#34;访问&#34;通过CSS的每个第一级菜单你也可以做这样的事情:

    wrapItemAndSub= <li class="menu{field:uid}" id="menu{field:uid}">|</li>
    wrapItemAndSub.insertData=1
    

    结果如下:

    <li class="menu1" id="menu1"><a href="home/">Home</a></li>
    <li class="menu2" id="menu2"><a href="service/">Service</a></li>
    <li class="menu3" id="menu3"><a href="contact/">Contact</a></li>