【问题标题】:TYPO3 template overrideTYPO3 模板覆盖
【发布时间】:2012-07-13 15:36:51
【问题描述】:

全部,

我正在使用 TYPO3 CMS 开发一个简单直接的网站。使用模板,所有页面都在页面顶部显示相同的横幅图像。我想将其中一个页面上的此图像更改为不同的图像。解决此问题的最佳方法是什么?

正在从名为“横幅”的模板扩展加载图像,如下所示:

temp.banner = COBJ_ARRAY
temp.banner {
# Menu 1 cObject
20 = IMAGE
20.file.import = upload/pics
20.file = fileadmin/template/main/template_1_FILES/{$banner_img}
}

然后我尝试在一个看起来像这样的页面上制作模板扩展:

temp.banner {
20.file = fileadmin/template/main/template_1_FILES/otherimage.jpg
]

但这并没有改变图像。原始图像仍然显示,没有任何错误或表明扩展程序做了任何事情。

【问题讨论】:

    标签: php html templates typo3


    【解决方案1】:

    问题是您在将temp.banner. 复制到另一个地方后更改了它。扩展模板中的 TS 是在原始模板中的所有 TS 都被解析之后出现的。

    您必须通过content editor 更改内容(参见顶部选择),或者您必须更改temp.banner. 复制到的确切位置。您可以使用TS object browser(再次参见顶部选择)直接查找和更改该地点。

    【讨论】:

      【解决方案2】:

      您使用的是常量{$banner_img},因此只需在应更改的页面上的模板中更改该值即可。

      我猜,如果您将对象从 temp.banner 重命名为 lib.banner,它将像您预期的那样工作。原因是,“temp”这个名字真的是暂时的。它将从缓存的 TypoScript 模板中删除。因此,请避免使用该名称,如果您并不真正了解会发生什么。

      我的意思:

      temp.test = Hello World
      page.10 = TEXT
      page.10.value < temp.test
      

      这将像预期的那样输出“Hello World”。但是temp.test在其他模板中不可用。

      【讨论】:

        猜你喜欢
        • 2023-03-10
        • 2016-10-17
        • 1970-01-01
        • 2019-03-27
        • 2020-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多