使用Silex框架在Twig模板中使用Javascript变量

Moi*_*ame 16 javascript php jquery twig silex

我试图在Twig模板内部的一些Javascript中创建一个路由,并且需要使用JS变量作为路由参数的值.

例:

window.location.href = {{ path('post_display', { 'id': this_is_where_i_need_to_use_the_js_var }) }};
Run Code Online (Sandbox Code Playgroud)

我正在使用Silex框架,我不确定FOS JS是否适用于Silex.不过,我不认为这样做.

Mae*_*lyn 41

Twig,因为它是写的PHP,在服务器上运行,完全独立于javascript代码,所以你想要的是一个解决方法.

首先,生成路径,但使用占位符,然后在必要时将其替换为变量的值:

var route = "{{ path('post_display', { 'id': "PLACEHOLDER" }) }}";
window.location = route.replace("PLACEHOLDER", js_variable);
Run Code Online (Sandbox Code Playgroud)

这样的事情对你有用.