TYPO3模板覆盖

时间:2012-07-13 15:36:52

标签: php html templates typo3

所有

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

图像是从名为“Banner”的模板扩展加载的,如下所示:

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
]

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

2 个答案:

答案 0 :(得分: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在其他模板中不可用。

答案 1 :(得分:2)

问题是您在将temp.banner.复制到其他地方后对其进行了更改。在解析了原始模板中的所有TS之后,来自扩展模板的TS。

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