TYPO3菜单:如何设置“entryLevel”动态?

时间:2013-07-29 09:02:30

标签: typo3 typoscript

我正在尝试创建一个菜单,在TYPO3中显示所有子页面和父页面。我的问题是我找不到动态分配entryLevel的方法。

我正在使用TYPO3 6.1
这是我目前的菜单标题。

lib.mainnavi = HMENU
lib.mainnavi {
    entryLevel = 1 
    1 = TMENU
    1.wrap = <ul> | </ul>
    1 {
        noBlur = 1
        NO {
          subst_elementUid = 1
          allWrap = <li id="link{elementUid}" class="first">| |*| <li id="link{elementUid}">| |*| <li id="link{elementUid}" class="last">|
          wrapItemAndSub = |</li>
        }
        ACT = 1
        ACT {
          subst_elementUid = 1
          allWrap = <li id="link{elementUid}" class="first current first_current">| |*| <li id="link{elementUid}" class="current">| |*| <li id="link{elementUid}" class="last current last_current">|          
          wrapItemAndSub = |</li>
        }
    }
}

下面是一张图片来说明我想要的东西 当我转到“1”时,我想看“FAQ”,“GTC(EU)”和“GTC(USA)”。
当我去“常见问题”时,我希望看到A-J和“1”作为“返回” 当我去“A”时,我希望将“FAQ”视为“返回” TYPO3 pages

我可以使用第二个菜单和special = browse制作“返回”菜单。但我找不到动态设置entryLevel的方法

4 个答案:

答案 0 :(得分:8)

入门级可以获得正值和负值。

正值表示从根页面计算的绝对等级位置。

Root => 0
  - Page => 1
    - Page => 2
      - Current Page => 3

负值将是相对的,并从当前页面计算回根

Root => -4
  - Page => -3
    -Page => -2
      - Current Page => -1

这样您就不必为每个级别使用条件,这会使缓存表膨胀。

Root => 0
  - Page => 1
    - Current Page => 2

Root => -3
  - Page => -2
    - Current Page => -1

答案 1 :(得分:1)

您可以使用低于TS代码的条件调整entryLevel设置。只需查看treeLevel条件的documentation即可。

像这样使用:

[treeLevel = 2]
    lib.mainnavi.entryLevel = 2
[end]

答案 2 :(得分:0)

还有一个解决方案,根本不使用entryLevel:

lib.mainnavi = HMENU
lib.mainnavi {
  special = directory
  special.value.field = uid 
    ...
}

这将创建一个页面菜单,其中当前页面的UID为当前页面的PID,AKA子页面。

答案 3 :(得分:0)

这对我有用:

lib.mainnavi = HMENU
lib.mainnavi {
    entryLevel = 1
    special = directory
    special.value.data = leveluid:-1

    # your code here ...
}