Typoscript 設定
如果要使用流體模板為 TYPO3 擴充套件使用自己的模板(對於 HTML,XML,JSON 或任何其他格式),可以新增其他模板路徑。
擴充套件模板/部分/佈局路徑通常在屬性下的 TypoScript 設定中設定
plugin.tx_<extensionkey>.view.templateRootPaths
plugin.tx_<extensionkey>.view.partialRootPaths
plugin.tx_<extensionkey>.view.layoutRootPaths
(<extensionkey> =沒有下劃線的小寫擴充套件鍵。例如:power_blog => powerblog)
也可以僅為擴充套件的特定外掛設定模板路徑,而不是為整個擴充套件設定模板路徑。這可以通過設定路徑來完成
plugin.tx_<extensionkey>_<pluginname>.view.templateRootPaths
plugin.tx_<extensionkey>_<pluginname>.view.partialRootPaths
plugin.tx_<extensionkey>_<pluginname>.view.layoutRootPaths
(<pluginname> =小寫的外掛名稱。例如:Pi1 => pi1,AjaxCall => ajaxcall)
這些屬性中的每一個都必須是帶有數字鍵的陣列。鍵是路徑的優先順序:當搜尋特定模板,部分或佈局時,流體首先在具有最高鍵的路徑中查詢,然後在具有下一個下鍵的路徑中查詢,依此類推,並使用第一個匹配的模板它找到了。
此優先順序的好處是,可以僅覆蓋擴充套件預設模板的某些模板或部分,並重用其他模板。
這是擴充套件 news
的示例。在 4.3.0 版中,靜態 TypoScript 模板定義了這些模板路徑:
plugin.tx_news {
view {
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = {$plugin.tx_news.view.templateRootPath}
}
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = {$plugin.tx_news.view.partialRootPath}
}
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = {$plugin.tx_news.view.layoutRootPath}
}
}
}
為了使用另一個模板,除了 news
的靜態模板之外,還可以將其新增到 TypoScript 設定中:
plugin.tx_news {
view {
templateRootPaths {
100 = path/to/my/own/templates/
}
partialRootPaths {
100 = path/to/my/own/partials/
}
layoutRootPaths {
100 = path/to/my/own/layouts/
}
}
}
然後首先在 path/to/my/own/templates/
中搜尋模板,如果沒有在那裡找到,則在 TypoScript 常量 {$plugin.tx_news.view.templateRootPath}
中定義的路徑中,然後在擴充套件預設模板所在的資料夾中,EXT:news/Resources/Private/Templates/
,通常解析為 typo3conf/ext/news/Resources/Private/Templates/
。
如果你想做同樣的事情,但只針對擴充套件的外掛 Pi1
(它是 4.3.0 版本的唯一外掛),最後一個例子如下所示:
plugin.tx_news_pi1 {
view {
templateRootPaths {
100 = path/to/my/own/templates/
}
partialRootPaths {
100 = path/to/my/own/partials/
}
layoutRootPaths {
100 = path/to/my/own/layouts/
}
}
}