TYPO3:未找到子部件?

时间:2012-05-31 21:18:28

标签: templates typo3 typoscript

我正在尝试修改TYPO3中的模板,我可以修改页面的某些部分,但不能修改更深层次的其他部分。例如:

HTML

<body>
...
<div class="wrapper">
   ...
   <div id="content-right">
      <div id="colRight">
         <div id="metaNav"></div>
      </div>
   </div>
   ...
</div>
...
</body>

的TypoScript

page.10.subparts {
  colRight = HMENU
  colRight.wrap = <ul>|</ul>
  colRight.special.value = 6, 7, 8, 9
  colRight.1 = TMENU
  colRight.1 {
    noBlur = 1
    NO = 1
    NO {
      allWrap = <li>|</li>
    }
  }
}

但是如果我用colRight更改metaNav(因为这是我们想要链接的地方,所以我们可以将其他内容放在colRight中),没有任何反应;没有显示任何内容。为什么呢?

1 个答案:

答案 0 :(得分:1)

虽然您已将其映射到#colRight并且将其映射到其子div时遇到问题,但您只需向元素wrap添加HTML标记:

page.10.subparts {
  colRight = HMENU
  colRight.wrap = <div id="metaNav"><ul>|</ul></div>
  // etc...      
}

使用规则#1:在TS中,每种方式都是最佳解决方案,以获得即时结果:)

修改

如果您需要在一个HTML标记下呈现许多不同的元素,您还可以使用COA元素来跨越它们:

page.10.subparts {
  colRight = COA
  colRight {
      10 = HMENU
      10 {
          wrap = <div id="metaNav"><ul>|</ul></div>
          // etc...
      }

      20 = TEXT
      20 {
          value = my text in #colRight right after #metaNav
          wrap = <div class="containerAfterMetsNav">|</div>
      }

  }


}