是否可以用打字稿覆盖不同 typeNum 的模板?
Posted
技术标签:
【中文标题】是否可以用打字稿覆盖不同 typeNum 的模板?【英文标题】:Is it possible to overwrite a template with typoscript for a different typeNum? 【发布时间】:2020-01-14 10:07:17 【问题描述】:我确实有第二个 typeNum 可以通过 ajax 调用呈现数据。我喜欢在此覆盖所选模板,以便能够在用户禁用 JS 的情况下呈现站点。有可能还是我必须为此扩展 PageProvider?
我快速浏览了 PageProvider 类。有一个名为getTemplatePathAndFilename 的函数,我认为它会根据数据库条目获取模板。在这里检查是否有排版设置并在存在时将其取走就足够了吗?
【问题讨论】:
【参考方案1】:所以...有几种方法可以实现这一目标。最简单直接的方法(恕我直言)是为它创建一个控制器和一个模板。在打字稿配置中,您使用您希望呈现的控制器名称作为插件名称。
例如使用 AjaxController 和 TemplatePath Ajax 的 Ajax。
contentPage = PAGE
contentPage
plugin.tx_myproviderext.settings.template >
typeNum = 12358
config
disableAllHeaderCode = 1
xhtml_cleaning = 0
admPanel = 0
debug = 0
5 = USER
5.userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
5.extensionName = Fluidpages
5.vendorName = FluidTYPO3
5.pluginName = Ajax
或者您从您自己的 ProviderExtension 中的流体页面扩展 PageProvider 并用您自己的实现覆盖 getTemplatePathAndFilename 函数,例如使用打字稿配置路径。
【讨论】:
以上是关于是否可以用打字稿覆盖不同 typeNum 的模板?的主要内容,如果未能解决你的问题,请参考以下文章