Рекурсивный вызов макроса в шаблоне ветки - PullRequest
0 голосов
/ 25 апреля 2018

После того, как я обновил установку Silex до версии 2.x, написанные мной макросы не работают.

{% macro render_map(data) %}
    /**
     * Do some stuff
    */
   {{ __self.render_map(argument) }} 
{% endmacro %}

После некоторых исследований я обнаружил, что оператор "__self" устарел, и я попыталсяэто решение:

{% import _self as macros %}
{% macro render_map(data) %}
   /**
    * Do some stuff
   */
  {{ macros.render_map(argument) }}
{% endmacro %}

Кто-нибудь имеет решение для моей проблемы?

1 Ответ

0 голосов
/ 25 апреля 2018

Из документов :

Если вы хотите использовать макрос в другом макросе из того же файла, вам нужно импортировать его локально: ...

Итак:

{% macro render_map(data) %}
  {% import _self as macros %}

  // ...

  {{ macros.render_map(argument) }}
{% endmacro %}

Демонстрация: https://twigfiddle.com/jtfo4h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...