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 对象浏览器 你可以看看是否在你的设置每个更改是否存在。 (或者如果您可能有语法错误)