是否可以用打字稿覆盖不同 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 的模板?的主要内容,如果未能解决你的问题,请参考以下文章

用玩笑模拟打字稿界面

打字稿覆盖深键

为啥打字稿允许我覆盖一个空的状态对象?

如何覆盖打字稿中的属性?

打字稿:检查类型是不是为联合

typescript Ionic 1(Angular 1.x)后退按钮覆盖 - 打字稿版本