我创建了一个这样的宏:
{% macro _path(my_path, param, js_var) %}
{% spaceless %}
path('{{ my_path }}', { '{{ param }}': "%s" }) | url_decode | format('"+{{ js_var }}+"') | raw
{% endspaceless %}
{% endmacro %}
当我这样称呼它时:
window.location ="{{ js.path('hqf_pizzas_searchpage', 'cp', 'monCP') }}";
它可以工作,但它会生成:
window.location ="path('hqf_pizzas_searchpage', { 'cp': "%s" }) | url_decode | format('"+monCP+"') | raw";
这不是我想要的。我只想让 Twig 在宏之后执行结果来获得这个:
window.location ="/my-url/cp/"+monCP+"";
知道你怎么能做到这一点吗?