0

我在 TYPO3 中有一个要用于某些页面的模板,在这里我有一个 DIV。

是否可以根据页面 UID 更改 DIV ID。它是唯一更改内容/图像的 div,我希望将此 DIV 放在我的 main.html 模板中。

因此,如果

UID = 2 <div id="topbanner_about"></div>
UID = 3 <div id="topbanner_drills"></div>

等等....我能做到这一点,我可以在 TS(错字脚本)中做到这一点,或者我怎么能做到这一点,所以我不需要制作 5 个模板。

4

2 回答 2

0

您可以通过在模板中插入标记来做到这一点。它看起来像这样:

在模板中:

[...]
<div id="topbanner_###ID_SUFFIX###"></div>
[...]

在插入模板的 TypoScript 中:

10 = TEMPLATE
10 {
    template = FILE
    template.file = fileadmin/main.html

    marks {
        ID_SUFFIX = TEXT
        ID_SUFFIX {
            insertData = 1

            # This makes sure that the output is valid and prevents XSS attacks
            htmlSpecialChars = 1

            value = {page:uid}      # Use this to insert the page ID or
            value = {page:subtitle} # Use to insert subtitle of page
            ... # Same works for other fields of the page record.
        }
    }
}

如果默认页面提供的字段不够,您可以在页面记录中添加另一个字段。最好的方法是构建一个可以做到这一点的扩展。

于 2013-10-16T13:25:01.360 回答
0

我找到了一个更好的解决方案,如果我使用 ressource 并添加图像,并且在下一页上对其他图像执行相同操作,那么在我的主 TS 中添加此代码。

lib.imageElement = FILES
lib.imageElement {
  references {
    data = levelmedia:-1,slide
    listNum = 0
  }
  renderObj = COA
  renderObj {
    10 = IMAGE
    10 {
      file.import.data = file:current:originalUid
      altText.data = file:current:title
    }
  }
}

它可以解决问题,然后在每个页面的顶部/标题中显示不同的图像。但是谢谢...

于 2013-10-17T07:39:17.837 回答