【问题标题】:TYPO3 DCE use curly bracket inside fluid template fileTYPO3 DCE 在流体模板文件中使用大括号
【发布时间】:2021-01-07 08:57:17
【问题描述】:

我有一个 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

【问题讨论】:

    标签: typo3 fluid typo3-9.x tx-dce


    【解决方案1】:

    &lt;f:format.raw&gt;{&lt;/f:format.raw&gt; 应该可以工作。如果没有,你也可以试试&lt;f:format.raw value="{" /&gt;。例如:

    <f:format.raw value="{" />json<f:format.raw value="}" />
    

    【讨论】:

    • 那也行不通,我的测试线:&lt;script type="application/ld+json"&gt; &lt;![CDATA[{"@context" : "https://schema.org/"}]]&gt; &lt;/script&gt; 输出仅为:&lt;script type="application/ld+json"&gt; &lt;/script&gt; 与:&lt;![CDATA[{]]&gt;"@context" : "https://schema.org/"&lt;![CDATA[{]]&gt; 输出为:&lt;script type="application/ld+json"&gt; "@context" : "https://schema.org/" &lt;/script&gt;
    • 你是对的。自 TYPO3 8 以来,这不起作用。我已经用一个应该适用于较新 TYPO3 版本的解决方案更新了我的答案。
    【解决方案2】:

    您不需要那么多变通方法;)您只是错误地使用了 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,不是吗?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2013-03-16
      • 2016-01-03
      • 2017-04-10
      • 1970-01-01
      • 2021-08-21
      • 2019-03-22
      相关资源
      最近更新 更多