TYPO3 流体:f:format.html 在后端删除链接

TYPO3 fluid: f:format.html in backend removes links

我在 TYPO3 9.5.31 中使用 flux 9.5.0 创建一个简单的“文本”内容元素。

它有一个预览部分,显示在 TYPO3 后端 <f:format.html>:

  <f:section name="Preview">
    <f:format.html>{settings.text}</f:format.html>
  </f:section>

不幸的是,链接被删除,甚至没有显示它们的文本。

示例:

如何获取呈现预览部分中的链接?

由于安全原因,9.5.29 版本中发生了变化。

参见:https://typo3.org/security/advisory/typo3-core-sa-2021-013

如何修复:https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/9.5.x/Important-94484-IntroduceHTMLSanitizer.html

这是 TYPO3 流体的问题。

TYPO3\CMS\Fluid\ViewHelpers\Format\HtmlViewHelper::simulateFrontendEnvironment() 创建一个虚拟 TSFE 实例。

TYPO3 的 ContentObjectRenderercObjGetSingle 中渲染嵌套标签时期望 $TSFE->cObjectDepthCounter > 0,但失败了,因为虚拟 TSFE 实例没有设置此变量。


自 2015 年以来已知此问题:Bug #66855: Format/HtmlViewHelper don't render Links in TYPO3_MODE = BE

根据https://forge.typo3.org/issues/67556 and https://forge.typo3.org/issues/96535 this is "fixed" in TYPO3 v11.5 if you switch to <f:transform.html>