我怎样才能强制一个树枝变量解析为一个字符串?

How can I force a twig variable to resolve to a string?

我有一个在博客页面底部生成 JSON-LD 的树枝模板。这是 JSON 元数据的一部分:

    {% set dateString %}
        "datePublished": "{{ post.post_date|date('c') }}",
    {% endset %}
    {{ post.settings.hide_publish_date ? '' : '{{ dateString }}' }},

我查看网页源代码时的输出是这样的:

"DatePublished": "{{ dateString }}",

我希望看到的是这样的:

"DatePublished": "2017-03-15T10:59:56+00:00",

如何确保我的变量 dateString 解析为预期值?

我能够使用 twig replace filter.

获取日期值以正确输出
{% set dateString %}
    "datePublished": "{{ post.post_date|date('c') }}",
{% endset %}
{{ post.settings.hide_publish_date ? '' : '%dateOutput%'|replace({'%dateOutput%': dateString}) }}

网页现在将预期值输出到 JSON-LD:

"DatePublished": "2017-03-15T10:59:56+00:00",

你可以使用template_from_string树枝的功能:

The template_from_string function is not available by default. You must add the Twig_Extension_StringLoader extension explicitly when creating your Twig environment:

您可以在 http://twig.sensiolabs.org/doc/2.x/functions/template_from_string.html

上找到更多详细信息