如何根据TYPO3中的订单自定义页面?

时间:2012-08-16 08:42:42

标签: typo3 typoscript templavoila

使用Templavoila 1.7.0处理TYPO3 4.7时,我需要一种方法来根据当前页面在其导航级别中的顺序自定义模板的一个值。

具体来说,我需要将div的class属性更改为“left”或“right”,如果它的均匀或不均匀。有没有办法用Templavoila Typoscript-Attribute做到这一点?

举个例子:

  • 主页
    • 第1页
      1. 第1.1页 - >渲染此页面时,我想将class属性设置为“left”
      2. 第1.2页 - > “右”
      3. 第1.3页 - > “左”
      4. 第1.4页 - > “右”
    • Page 2
    • Page 3

谢谢!

1 个答案:

答案 0 :(得分:1)

如果有人更改页面的排序,TemplaVoila TypoScript属性将失败。

我会尝试渲染菜单。使用allWrap.cObject = TEXT,应该可以覆盖输出。因此,只需创建一个呈现类的菜单,并根据偶数或奇数渲染您需要的类。

!伪码!

lib.getClass = HMENU
lib.getClass {
  1 = TMENU
  1.NO = 1
  1.NO {
    allWrap.cObject = TEXT
    allWrap.cObject.value = left
    allWrap.cObject.override = right
    allWrap.cObject.override {
      if.value = 1
      if.equals.data = REGISTER:count_HMENU_MENUOBJ
      if.equals.stdWrap.wrap = |%2
      if.equals.prioriCalc = 1
    }
  }
}

没有测试代码,所以如果它不起作用,请检查语法。可能会停用覆盖,检查值REGISTER:count_HMENU_MENUOBJ,但我想它应该是你需要的寄存器。