1

我正在尝试解决typo3 中的设计问题实现。本质上,我必须实现从目录生成的选项卡式菜单(只有活动状态是选项卡式),但每个活动(选项卡式)菜单必须具有不同的背景颜色(与选项卡正文框匹配)。我最初选择使用 TMENU,但之前被引入到选项拆分功能作为实现此目的的一种方式,但我想不出使用 TMENU 实现此目的的方法,所以我目前正在尝试使用 GMENU,但是我没有得到正确的结果。下面是我当前的代码,它给了我空白的空格。我正在尝试复制选项卡图像并将文本集中在图像中,但使用选项拆分来复制文件。

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
4

2 回答 2

9

我认为不应再使用新站点GMENU。相反,您应该使用TMENUCSS。

这是一个可以帮助您入门的基本示例:

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 splitwrapItemAndSub这样使用:wrapItemAndSub = <li class="first">|</li> |*| <li class="normal">|</li> |*| <li class="last">|</li>

其余的只是普通的 CSS。

于 2012-05-02T07:15:09.423 回答
1

如果您的问题是您想用不同的类属性将不同的子菜单包装在同一级别上,那么请查看 TMENU 对象的 submenuObjSuffixes 属性。

虽然无法将选项拆分与 wrap 一起使用(仅仅是因为 wrap 只执行一次),但很可能使用 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”类包装第一个 2 级菜单,用“lastItem”包装最后一个 2 级菜单,以及用“middleItems”类包装所有中间菜单。

请理解后缀附加到所有后续菜单级别。因此,如果您在级别 1 上使用 submenuObjSuffixes,它不仅会影响级别 2,还会影响级别 3、4,......并且您还必须在这些级别上定义相应的选项,否则它们将不会被渲染。

于 2014-06-29T21:59:55.110 回答