Path Twig Странное преобразование строки Symfony 2.3

У меня есть эта переменная

   {% set slug_profilo_segnalato = '{slug_profilo_segnalato}' %}

(Я назначаю {slug_profilo_segnalato} через sugar.js с назначением. ( http://sugarjs.com/api/String/assign), если я делаю {{slug_profilo_segnalato}}, я вижу правильно (pe william)

<a href='{{ path('profilo', {'slug': slug_profilo_segnalato }) }}'

когда я смотрю на ссылку, я сгенерировал этот результат

.../profilo/%7Bslug_profilo_segnalato%7D

Чтобы решить эту проблему, я сделал следующее:

 <a href='{{ path('profilo', {'slug': slug_profilo_segnalato })|replace({'%7B':'{', '%7D':'}'}) }}'>PROFILO</a>

Результаты на Twig:

../profilo/william

Я не думаю, что это лучшее решение. я пытаюсь также | сырой, без пробелов.. Почему кодируется таким образом?

2 ответа

%7B и%7D означает, что у вас есть значение с фигурными скобками наподобие этой "{thing_here}", что означает, что sugarjs не удаляет фигурные скобки или путь метода ветки запускается до sugarjs

Вы пробовали комбинировать autoescape блок и raw фильтр?

{% autoescape false %}
    <a href='{{ path('profilo', {'slug': slug_profilo_segnalato|raw }) }}'
{% endautoescape %}

Надеюсь это поможет...

Другие вопросы по тегам