2012-08-17 75 views
16

Estoy tratando de crear una ruta dentro de un Javascript dentro de una plantilla Twig y necesito usar una variable JS como un valor para un parámetro de ruta.Usando la variable Javascript en la plantilla Twig usando el marco Silex

Ejemplo:

window.location.href = {{ path('post_display', { 'id': this_is_where_i_need_to_use_the_js_var }) }}; 

estoy usando el marco Silex y estoy seguro si FOS JS trabaja para Silex. Aunque no creo que sí.

+0

Puede que le interese el FOSJsRoutingBundle - http://stackoverflow.com/a/7626995/276648 – user276648

Respuesta

41

Twig, ya que está escrito en PHP, se ejecuta en el servidor, completamente por separado que el código de JavaScript, por lo que lo que necesita necesita una solución.

En primer lugar, generar la ruta, pero con un marcador de posición, luego vuelva a colocar que con el valor de la variable cuando lo necesite:

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

Algo como esto debería funcionar para usted.

Cuestiones relacionadas