TYPO3 tx_news 扩展未使用覆盖模板
TYPO3 tx_news extension not using override template
我有两个站点使用 tx_news 扩展名。据我所知,它们的设置相同。在站点 A 上,我添加了一个新的 List.html 部分,它按预期工作。但是在站点 B 上,它完全忽略了我的列表覆盖。
我已经对文件路径进行了三重检查,以确保拼写错误指向正确的位置,但它仍然使用默认值。这里可能有什么问题?
plugin.tx_news {
view {
templateRootPaths >
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = fileadmin/templates/example/news/Templates/
}
partialRootPaths >
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = fileadmin/templates/example/news/Partials/
}
layoutRootPaths >
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = fileadmin/templates/example/news/Layouts/
}
}
}
为了使其按预期工作,我将执行以下操作:
1) 将ext/news/Resources/Private/Templates、Partials、Layouts 三个文件夹复制到fileadmin/templates/example/news
(我相信你已经做到了)
2) 然后将其放入您的模板提供程序或页面 typoscript constants:
plugin.tx_news {
view {
templateRootPath = fileadmin/templates/example/news/Templates/
partialRootPath = fileadmin/templates/example/news/Partials/
layoutRootPath = fileadmin/templates/example/news/Layouts/
}
}
现在新闻扩展将使用放置在 fileadmin/
中的模板文件
下一步是在您的根页面属性中添加一些 pageTSConfig,以防您需要更大的灵活性。例如像这样:
tx_news.templateLayouts {
1 = Special List Item
2 = Special Detail Layout
}
这允许您 select 在您的新闻插件中使用这些模板布局之一,并在您的模板文件中使用条件:
<f:if condition="{settings.templateLayout} == 1">
<f:then>
<!-- markup for a special list item -->
</f:then>
<f:else>
<!-- markup for another list item -->
</f:else>
</f:if>
你的脚本看起来不错。当在 TYPO3 中发生类似的事情时,有一个选项可以检查您的 TypoScript 是否有效,或者此更改是否确实添加到正确的位置。
进入 BE,select Template 模块并使用 TypoScript 对象浏览器 你可以看看是否在你的设置每个更改是否存在。 (或者如果您可能有语法错误)
我有两个站点使用 tx_news 扩展名。据我所知,它们的设置相同。在站点 A 上,我添加了一个新的 List.html 部分,它按预期工作。但是在站点 B 上,它完全忽略了我的列表覆盖。
我已经对文件路径进行了三重检查,以确保拼写错误指向正确的位置,但它仍然使用默认值。这里可能有什么问题?
plugin.tx_news {
view {
templateRootPaths >
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = fileadmin/templates/example/news/Templates/
}
partialRootPaths >
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = fileadmin/templates/example/news/Partials/
}
layoutRootPaths >
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = fileadmin/templates/example/news/Layouts/
}
}
}
为了使其按预期工作,我将执行以下操作:
1) 将ext/news/Resources/Private/Templates、Partials、Layouts 三个文件夹复制到fileadmin/templates/example/news (我相信你已经做到了)
2) 然后将其放入您的模板提供程序或页面 typoscript constants:
plugin.tx_news {
view {
templateRootPath = fileadmin/templates/example/news/Templates/
partialRootPath = fileadmin/templates/example/news/Partials/
layoutRootPath = fileadmin/templates/example/news/Layouts/
}
}
现在新闻扩展将使用放置在 fileadmin/
中的模板文件下一步是在您的根页面属性中添加一些 pageTSConfig,以防您需要更大的灵活性。例如像这样:
tx_news.templateLayouts {
1 = Special List Item
2 = Special Detail Layout
}
这允许您 select 在您的新闻插件中使用这些模板布局之一,并在您的模板文件中使用条件:
<f:if condition="{settings.templateLayout} == 1">
<f:then>
<!-- markup for a special list item -->
</f:then>
<f:else>
<!-- markup for another list item -->
</f:else>
</f:if>
你的脚本看起来不错。当在 TYPO3 中发生类似的事情时,有一个选项可以检查您的 TypoScript 是否有效,或者此更改是否确实添加到正确的位置。
进入 BE,select Template 模块并使用 TypoScript 对象浏览器 你可以看看是否在你的设置每个更改是否存在。 (或者如果您可能有语法错误)