У меня есть шаблон JTwig (ветвь java) типа
SomeMagazine.twig:
bla bla bla, and I quote:
{% block quote %}
{% endblock%}
and some more bla bla bla and so on
Дочерний шаблон, вызывающий этот, выглядит примерно так:
MagQuote.twig:
{% extends 'SomeMagazine.twig' %}
{% block quote %}
{% include 'QuotAuthTemplate.twig' with { auth : quote.author } %}
{% include 'QuotTextTemplate.twig' with { qtxt : quote.content } %}
{% endblock %}
- Я хотел бы получить все содержимое блока
quote
с 1 вкладкой в начале - Обратите внимание, что я не могу вставить их в
MagQuote.twig
, поскольку он состоит из других шаблонов, поэтому вкладка включения шаблона будет содержать только первую вкладку всего другого шаблона Специально для JTwig Я попытался создать свою собственную функцию для содержимого вкладки (SimpleJtwigFunction
и добавить ее к EnvironmentConfiguration
при создании экземпляра шаблона), но я не могу понять, как вызвать ее для содержимого шаблона, поскольку
- Я не могу (не знаю, как) сохранить их в переменной, чтобы я мог вызывать свой метод поверх нее;ни этот
{% set 'tmpltCnt' = {% include ...
, ни этот {% set 'tmpltCnt' = include ...
синтаксис не работают (и я не могу его найти) - Я не могу вкладывать содержимое в
QuotAuthTemplate.twig
и QuotTextTemplate.twig
, так как они используются в некоторых других местах, которые не требуютtabs ... - Я не могу (не знаю, как) вызвать функцию поверх самого include;ни этот
{{ myTabbingMthd({% include ...
, ни этот {{ myTabbingMthd(include ...
синтаксис не работает (и я не могу его найти)
может быть, просто следую неправильному подходу здесь? ...
Ответ (вроде ...)
Лучшим решением было добавить "тегов" ;Уникальная строка, которую я позже смогу использовать для сопоставления с образцом, чтобы потом выполнять построчное табулирование и заменять ее на получающейся строке, удаляя теги ... Все еще надеюсь, что кто-то придумает что-то лучше, так как ...
Проблемы для этого решения
Если вам понадобится (как и я) наличие блока с отступом внутри другого, тогда сопоставление с образцом будет запутано, требуя от вас либоопределили разные теги для каждого, иначе посмотрите этот другой ответ для похожих ситуаций