【问题标题】:TYPO3 - multiple pages via TypoScriptTYPO3 - 通过 TypoScript 的多个页面
【发布时间】:2016-08-25 21:12:29
【问题描述】:

我有一个 HTML 模板,如下所示:

 <div class="container container-settings">

     ###INHALT###

</div>

现在我想将此模板添加到 TYPO3 中的更多页面,然后仅通过一个 TypoScript 文件根据页面插入内容。

例如,我想在我的页面“page1”和“page2”上显示如下内容:

 marks {
    ===> if content from page1
    INHALT < styles.content.get
    INHALT.select.where = colPos=3
    INHALT.renderObj.stdWrap.wrap=<div class="styled-box">|</div> 

    ===> if content from page2
    INHALT < styles.content.get
    INHALT.select.where = colPos=5
    INHALT.renderObj.stdWrap.wrap=<div class="different-style">|</div> 
}

有没有办法做到这一点?

谢谢!

更新

@nbar 我更新了配置如下:

10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/layout_subsites.html
workOnSubpart = DOKUMENT  

marks {
 [globalVar = TSFE:id=3]
   INHALT < styles.content.get
   INHALT.select.where = colPos=2
 [global]

[globalVar = TSFE:id=4]
   INHALT < styles.content.get
   INHALT.select.where = colPos=0  
[global]

[globalVar = TSFE:id=5]
   INHALT < styles.content.get
   INHALT.select.where = colPos=0
   INHALT.renderObj.stdWrap.wrap=<div class="different-style">|</div>
[global]
}   
}

但是,这并不像我想要的那样工作。我是不是犯了一个大错误,我猜?

【问题讨论】:

  • ` ===> 如果 page1 中的内容 ` 可以使用 [globalVar = TSFE:id=1] 完成,并且结束条件只需使用 [global]。 TSFE:id 是页面的 uid(当您将鼠标悬停在后端页面上或未安装 realURL 时,您会看到 id)
  • 你能给我举个例子吗?
  • 其余的 ([globalVar = TSFE:id=1] ..) 是否正确?我可以给你举个例子,但我只知道 IF 语句,而不是其余的。
  • page1 的 colPos=4 填充了内容,page2 也可以填充了 colPos=4。我希望 TypoScript 选择页面的正确内容。所以我可以用不同的方式包装这些内容。

标签: templates typo3 typoscript


【解决方案1】:

这里是一个示例“IF”-Statements 如何在 Typoscript 中工作。当页面的 ID 适合时,就会执行打字稿。

我只是从您的原始帖子中复制了“IF”语句中的代码,所以我的示例仅适用于条件,而不适用于其他代码。

[globalVar = TSFE:id=1]
    marks.INHALT < styles.content.get
    marks.INHALT.select.where = colPos=3
    marks.INHALT.renderObj.stdWrap.wrap=<div class="styled-box">|</div> 
[global]

[globalVar = TSFE:id=2]
    marks.INHALT < styles.content.get
    marks.INHALT.select.where = colPos=5
    marks.INHALT.renderObj.stdWrap.wrap=<div class="different-style">|</div> 
[global]

【讨论】:

  • 谢谢哥们!我会尽快尝试并给你一些反馈是否有效:)
  • 我更新了我的主要问题,如果你能看一下,我将非常感激!
  • @Joggal 您不能在括号 { 内使用 [globalVar = TSFE:id=1]。您必须在[globalVar = TSFE:id=1] 内完成所有操作。据我所知,一定是10.marks.INHALT &lt; styles.content.get
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多