我有一个twig模板,可以在博客页面的底部生成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
解析为预期值?
答案 0 :(得分:0)
我可以使用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",
答案 1 :(得分:0)
您可以使用twig的template_from_string
功能:
默认情况下,
template_from_string
功能不可用。在创建Twig环境时,必须明确添加Twig_Extension_StringLoader扩展名:
您可以在http://twig.sensiolabs.org/doc/2.x/functions/template_from_string.html
上找到更多详情