У меня есть шаблон веточки, который генерирует 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
разрешается до ожидаемого значения?
Мне удалось получить значение даты для правильного вывода с помощью веточка заменить фильтр.
{% 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
функция ветки:
template_from_string
функция не доступна по умолчанию. Вы должны явно добавить расширение Twig_Extension_StringLoader при создании среды Twig:
Вы можете найти более подробную информацию о http://twig.sensiolabs.org/doc/2.x/functions/template_from_string.html