【问题标题】:How to disable an extension for one page in TYPO3如何在 TYPO3 中禁用一页的扩展名
【发布时间】:2018-06-05 06:17:27
【问题描述】:

一页中的两个已安装扩展之间存在冲突。我只想禁用此特定页面的扩展之一。

有没有办法做到这一点?也许以某种方式在后端模板中?

【问题讨论】:

    标签: typo3 typo3-7.6.x


    【解决方案1】:

    在您要禁用扩展的页面上,您可以创建一个模板,您可以在其中通过 TypoScript 禁用扩展:

    plugin.tx_badextension >
    tt_content.list.20.tx_badextension >
    

    这是递归的,这意味着这个sn-p包含在模板中的页面的所有子页面也都被关注。如果您想再次在子页面上启用插件,您必须在其中包含扩展的 TypoScript。

    也可以只在几个页面上而不是在根页面中包含扩展程序的 TypoScript。但配置始终是继承的,如果要在子页面上激活或停用插件,则必须反转配置。

    【讨论】:

      【解决方案2】:

      不,没有办法。扩展只能禁用完整的 TYPO3 安装。

      编辑: 这是一种为单个页面禁用此扩展的方法,例如带有打字稿的新闻页面。

      // Skip tx_jhopengraphprotocol for single news view, as EXT:news adds dedicated og-properties
      [globalVar = GP:tx_news_pi1|news > 0]
          temp.tx_jhopengraphprotocol >
          page.669 >
      [global]
      

      【讨论】:

      • 其中一个扩展是我自己的,另一个是 jh_opengraphprotocol。在我的扩展中,我动态创建了打开的图形标签。因此我在页面上有多个 og:Tags !!!
      • 我查看了 jh_opengraphprotocol 代码并找到了解决方案。我将其发布在我的第一个答案帖子中;)
      【解决方案3】:

      如果你查看 setup.txt https://github.com/jonathanheilmann/ext-jh_opengraphprotocol/blob/master/Configuration/TypoScript/setup.txt

      你应该可以用

      关闭它
      temp.tx_jhopengraphprotocol >
      page.669 >
      

      在该页面的 TypoScript 中。

      【讨论】:

        【解决方案4】:

        根据包含扩展的方式,您可能能够停用一个扩展的呈现。

        大部分扩展都是在typoscript中配置的,您可以在其中为您的页面清除扩展模板(或TS条件)中的相应部分。

        您要么停用扩展特定部分 (plugins.my_extension >)
        或包含在页面呈现中(page.100 >,如果包含扩展名,如 page.100 < plugin.my_extension
        或将插件的配置清除为 tt_content tt_content.list.20.my_extension > 的子树

        方式取决于您的扩展,如果以其他方式(例如钩子、信号)完成包含,则可能会失败

        【讨论】:

          猜你喜欢
          • 2011-07-15
          • 1970-01-01
          • 1970-01-01
          • 2015-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-23
          相关资源
          最近更新 更多