twig - Symfony 2.1+ encodes hash/pound "#" in routes -
i'm in process of upgrading symfony 2.0 2.3. have routes hashes defined since have single page app.
a route configured via annotations:
/** * @route("/app#orders/{id}", name="app_order") */
we use twig generate emails , use these routes within twig templates:
<a href="{{ url('app_order', { 'id': '123' }) }}">view order</a>
before upgrading, worked fine. after upgrade, #
gets encoded %23
slashes remain intact. of course generates invalid url in email.
why hashes encoding , not slashes? should or nothing. options have here other doing string replace?
things i've tried doing don't help:
- setting autoescape false
{% autoescape false %}
- using raw
{{ url(...)|raw }}
- using raw , autoescape=false in conjunction
if take @ urlgenerator
code, can see, hashtag not decoded after rawurlencode
. escaping of hashtag added in commit 6039569.
as workaround extend urlgenerator
class , replace $decodedchars
array hashtag included. tell symfony use generator class:
parameters: router.options.generator_base_class: acme\mybundle\routing\hashtagdecodedurlgenerator
Comments
Post a Comment