0

全部,

我正在使用 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
]

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

4

2 回答 2

2

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

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

我的意思是说:

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

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

于 2012-07-13T15:44:06.383 回答
2

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

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

于 2012-07-13T22:12:29.463 回答