Nie możesz.
Jak podano w dokumentacji:
jako funkcje PHP, makra nie mają dostępu do aktualnego szablonu zmiennych.
Twoim jedynym rozwiązaniem jest przekazać parametr do macro
:
{% import _self as flow %}
{{ flow.pagedurl(1, "Ligio") }}
{% macro pagedurl(page, myname) %}
Hi {{ myname }}! This is Page Num {{ page }}
{% endmacro %}
UWAGA:
Pewnie zauważyłeś w moim przykładzie, wzywam {% import _self as flow %}
.
To jest coś, czego MUST zrobić:
Po zdefiniowaniu makra w szablonie gdzie masz zamiar go używać, może ulec pokusie, aby wywołać makro bezpośrednio poprzez _self.input() zamiast importować; nawet jeśli wydaje się działać, jest to po prostu efekt uboczny obecnej implementacji i nie będzie już działać w Twig 2.x.
http://twig.sensiolabs.org/doc/tags/macro.html
Czy wypróbowałeś prosty '{{myname}}'? – Maerlyn
z {{myname}} Nie jestem w zakresie zmiennej ... To nie działa! – Ligio