0

我有一个 DCE 内容元素,现在我需要在这个模板中添加一个带有变量文本的 json 对象。

我尝试了很多方法,比如

<f:format.raw>{</f:format.raw>

或者

<f:format.alias map="{l: '{}', r: '}'}"> { json } </f:format.alias>

但没有任何效果。

<dce:format.WrapWithCurlyBraces>json</dce:format.WrapWithCurlyBraces>

是我的最后一次测试,但这会产生一个空输出。有什么方法可以输出一些带有 dce 内部变量的 json 吗?

<f:format.json>{"context": "https://schema.org/"}</f:format.json>

也经过测试,也会生成一个空输出。

DCE 版本:2.6.0
TYPO3:9.5

4

2 回答 2

1

<f:format.raw>{</f:format.raw>应该管用。如果没有,你也可以试试<f:format.raw value="{" />。例如:

<f:format.raw value="{" />json<f:format.raw value="}" />
于 2021-01-07T09:05:30.057 回答
0

您不需要那么多解决方法;)您只是错误地使用了 JSON-ViewHelper。它需要一个(流体)数组作为输入。

<f:format.json value="{context: 'https://schema.org/'}" />

由于"JSON 中的 将在输出到 HTML 之前被转义,因此我们只f:format:raw对整个字符串使用。

<f:format.raw><f:format.json value="{context: 'https://schema.org/'}" /></f:format.raw>

或者,可能更好:

<f:variable name="jsonData" value="{context: 'https://schema.org/'}" />
{jsonData -> f:format.json() -> f:format.raw()}

这等于:

<f:variable name="jsonData" value="{context: 'https://schema.org/'}" />
<f:format.raw><f:format.json>{jsonData}</f:format.json></f:format.raw>

(在你的情况下,我认为你jsonData已经作为变量json,不是吗?)

于 2021-01-09T11:51:21.393 回答