解析 CommandController 中的 TYPO3 链接 问题 EXT: frontend_editingGitHub 上的问题问题 EXR:fluid_styled_contentExtbase 解析与链接服务

问题描述

我已经在数据库中保存了 TYPO3 文本(正文)。它包含以 t3 格式保存的不同链接

<p><a href="t3://page?uid=700" target="_blank" class="internal" title="title">Link</a> more text.</p>

这个想法是创建一些脚本作为 CommandController,获取保存的文本并通过电子邮件通过 cron 发送。问题是链接不会在没有前端环境的情况下转换为正确的 html(它工作正常,如果我在前端插件中做同样的事情)。

我尝试使用流畅的 html 视图助手呈现此文本:

<f:format.html>{item.bodytext}</f:format.html>

还尝试直接在我的 CommandController 中使用 $contentObject->parseFunc 解析文本。但它只会切断链接

是否有任何简单的 TYPO3 函数可以将正文转换为真正的 html?

注意:typo3 版本 8.7.16

解决方法

好的,链接似乎没有被解析,我认为这不是 CommandController 的问题。我遇到了同样的问题,并找到了几种解决此问题的方法。

问题 EXT: frontend_editing

卸载所有非重要扩展并清除每个扩展后 可能的缓存和几个小时的调试我们发现了问题: “frontend_editing”扩展 - 仅当用户登录时 后台!

GitHub 上的问题

  • 在 Github 上讨论了同样的问题,您可以查看 here

@csba 描述了详细答案here

问题 EXR:fluid_styled_content

另一个问题是格式视图助手,@georg-ringer 已经解释了解决问题的解决方案,它对我有用。查看here了解更多详情。

根据@georg-ringer 的回答,您只需将 <f:format.html>{item.bodytext}</f:format.html> 更改为 <f:format.raw>{item.bodytext}</f:format.raw>。这可能会解决您的问题。

Extbase 解析与链接服务。

// use TYPO3\CMS\Core\LinkHandling\LinkService;
$linkService = GeneralUtility::makeInstance(LinkService::class);
$linkDetails = $linkService->resolve($firstparameter);

您可以解析如上图所示的链接,您可以在下面找到参考: