2012-07-13 247 views
0

全部,TYPO3模板覆蓋

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

但是這並沒有改變圖像。原始圖像仍然沒有任何錯誤地顯示,或者表示擴展名執行了任何操作。

回答

2

問題在於,在複製到另一個地方後,您將其更改爲temp.banner.。來自擴展模板的TS在來自原始模板的所有TS已被解析之後。

您必須通過content editor(參見頂部選擇)更改任一內容,或者您​​必須更改temp.banner.複製到的確切位置。您可以使用TS object browser(請再次參閱上面的選擇)直接查找並更改該地點。

2

您正在使用常量{$banner_img},因此只需在要更改頁面的模板中更改該值即可。

我想,如果您將Object從temp.banner重命名爲lib.banner,它將會像您期望的那樣工作。原因是,名字「臨時」真的是暫時的。它將從緩存的TypoScript模板中刪除。所以如果你真的不明白會發生什麼,那麼就避免使用這個名字。

我的意思:

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

這將輸出的 「Hello World」 之類的預期。但temp.test在其他模板中不可用。