在TYPO3 Typoscript中的HMENU

时间:2013-05-03 09:17:25

标签: menu typo3 typoscript

我有一个有多个网站的项目。请检查屏幕截图。  enter image description here

现在,我想在“Red”中构建一个菜单,其中包含“Blue”,“Post”和“Blog Page”网站。每个标签,即Blue,Post和Blog Post都应该在其网站上显示这些页面。

示例:

Red Menu
-Blue
 --jQueryTestPage
 --Home
 --Fluid
 --Contact
 --Form
-Post
 --HomePage
 --Contact Us
-Blog Page
 --Startsite
 --Sitemap

我对Typo3很新,我无法理解如何为这些页面创建菜单。我正在使用Typo3 6.0.4

提前致谢

更新

到目前为止,我有以下菜单代码

lib.mainMenu = HMENU
lib.mainMenu.entryLevel=0
lib.mainMenu.special=list
lib.mainMenu.special.value=19,5,2
lib.mainMenu.1 = TMENU
lib.mainMenu.1 {
  wrap = <ul id="mainMenu">|</ul>
  expAll = 0
  NO.allWrap = <li class="mainMenuiItem">|</li>
  RO < .NO
  RO = 1
  CUR < .NO
  CUR = 1
  CUR.allWrap = <li class="mainMenuItemActive">|</li>
  ACT < .CUR
}

上面的代码给了我

Red Menu
    -Blue
    -Post
    -Blog Page

但我想要的是

Red Menu
    -Blue
     --jQueryTestPage
     --Home
     --Fluid
     --Contact
     --Form
    -Post
     --HomePage
     --Contact Us
    -Blog Page
     --Startsite
     --Sitemap

2 个答案:

答案 0 :(得分:3)

lib.mainMenu.1表示第一级。所以添加其他级别:

lib.mainMenu.2 < lib.mainMenu.1
lib.mainMenu.3 < lib.mainMenu.1

但是afaik你需要使用“目录”而不是“列表”。 “list”只是呈现页面而不是子页面。

并删除entryLevel = 0 - 如果使用special,则不应使用entryLevel。

lib.mainMenu = HMENU
lib.mainMenu {
  special=directory
  special.value=19,5,2
  1 = TMENU
  1 {
    wrap = <ul id="mainMenu">|</ul>
    expAll = 0
    NO.allWrap = <li class="mainMenuiItem">|</li>
    # afaik you do not need RO
    RO < .NO
    RO = 1
    CUR < .NO
    CUR = 1
    CUR.allWrap = <li class="mainMenuItemActive">|</li>
    ACT < .CUR
  }
  2 < .1
  2 {
    wrap = <ul>|</ul>
    NO.allWrap = ...
    CUR.allWrap = ...
  }
  3 < .2
}

答案 1 :(得分:1)

正如您对数值进行硬编码一样,您可以使用special =目录并手动输入父页面项目。

lib.completeMenu = COA
lib.completeMenu {
  10 = TEXT
  ...
  # Make Typolink to page 19
  }
  20 = HMENU
  20 {
     special=directory
     special.value=19
     ...
     # Your menu, just for the first part
  }
  30 < .10
  30.value = ... 
  # The next typolink to page 5
  40 < .20
  40.special.value = 5
  ... 
  # your menu, for the second part
  # repeat this for all the desired steps
}

为避免多次写入相同的ID,您可以使用{$ blueRootPage}

等常量

PS:以上TS未经测试