从另一个扩展部分渲染 TYPO3 Fluid

Posted

技术标签:

【中文标题】从另一个扩展部分渲染 TYPO3 Fluid【英文标题】:Render TYPO3 Fluid partial from another extension 【发布时间】:2017-05-01 05:28:05 【问题描述】:

我想从另一个扩展部分呈现一个部分。 我的设置是 TYPO3 7.6.14,带有流体驱动的 TYPO3 扩展,包括 VHS。

据我所知,流体 ViewHelper f:render 是不可能的。在这里,您只有参数“部分”和“部分”。 我找到了一种使用 VHS ViewHelper v:render.template 的解决方案。 解决方法在这里解释:https://www.wapplersystems.de/blog/typo3-fluid-render-partial-from-another-extension/

但是有了这个 ViewHelper,我只能将路径设置为部分,而不是部分。

【问题讨论】:

【参考方案1】:

Fluid 支持局部、模板和布局的查找链。您可以在扩展程序中指定多个目录,fluid 将查找所有目录(从最高索引开始),直到找到匹配的部分文件。

plugin.tx_myextension.view 
   partialRootPaths 
      10 = EXT:my_extension/Resources/Private/Partials
      20 = EXT:another_extension/Resources/Private/Partials
   

使用此配置,fluid 将首先在 another_extension/Resources/Private/Partials 处查找您的扩展程序中的每个部分,如果存在则从那里渲染。

【讨论】:

感谢您的回答。这也是我目前的解决方案。但这并不是很令人满意,因为您总是必须检查当前扩展的覆盖部分。这就是为什么我希望找到另一种解决方案,在这里我只将路径指向一个部分而不包括整个部分文件夹。 @kimomat 由于此列表中的条目按升序查找,您如何创建一个文件夹,其中只有您的通用模板进入并将其放在列表顶部。

以上是关于从另一个扩展部分渲染 TYPO3 Fluid的主要内容,如果未能解决你的问题,请参考以下文章

Typo3扩展配置

流体动力 TYPO3 部分中的 enableFields -> 对象

TYPO3 Fluid complex if 条件

Fluid Typo3 - 如何获取通过来自不同页面 uid 的通量定义的变量

TYPO3:在 Fluid 模板中硬编码的语言相关变量

Typo3 Fluid - 如何检查两个或多个 colPos 是不是有内容然后打印 HTML