我正在尝试在Twig模板内部的一些Javascript中创建一个路由,并且需要使用JS变量作为路由参数的值。
I am trying to create a route inside of some Javascript inside of a Twig template and need to use a JS variable as a value to a route parameter.
示例:
window.location.href = {{ path('post_display', { 'id': this_is_where_i_need_to_use_the_js_var }) }};我使用的是Silex框架,我不确定FOS JS是否适用于Silex。不过我认为不行。
I am using the Silex framework and am unsure if FOS JS works for Silex. I don't think it does, though.
推荐答案Twig,因为它用 PHP编写,在服务器上运行,完全独立于javascript代码,所以你想要的是一个解决方法。
Twig, since it's written in PHP, runs on the server, completely separately than the javascript code, so what you want needs a workaround.
首先,生成路线,但是占位符,然后在必要时将其替换为变量的值:
First, generate the route, but with a placeholder, then replace that with the value of your variable when neccessary:
var route = "{{ path('post_display', { 'id': "PLACEHOLDER" }) }}"; window.location = route.replace("PLACEHOLDER", js_variable);这样的事情对你有用。
更多推荐
使用Silex框架在Twig模板中使用Javascript变量
发布评论