dongyuchen9276 2017-03-16 17:23
浏览 168
已采纳

如何强制将twig变量解析为字符串?

I have a twig template that generates JSON-LD at the bottom of a blog page. Here is a section of the JSON metadata:

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

The output when I view the source code of the webpage is this:

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

What I expected to see was something like this:

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

How can I ensure that my variable dateString resolves to the expected value?

  • 写回答

2条回答 默认 最新

  • dongtong0796 2017-03-16 17:23
    关注

    I was able to get the date value to output correctly by using the twig replace filter.

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

    The webpage now outputs the expected values to the JSON-LD:

    "DatePublished": "2017-03-15T10:59:56+00:00",
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?