2012-08-17 16 views
16

Próbuję utworzyć trasę wewnątrz niektórych skryptów JavaScript wewnątrz szablonu Twig i potrzebuję użyć zmiennej JS jako wartości parametru trasy.Używanie zmiennej JavaScript w szablonie Twig przy użyciu struktury Silex

Przykład:

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

używam ramy Silex i jestem pewien, czy FOS JS pracuje Silex. Myślę jednak, że tak nie jest.

+0

Możesz być zainteresowany FOSJsRoutingBundle - http://stackoverflow.com/a/7626995/276648 – user276648

Odpowiedz

41

Twig, ponieważ jest napisany w PHP, jest uruchamiany na serwerze, całkowicie oddzielnie od kodu javascript, więc to, czego potrzebujesz, wymaga obejścia.

Najpierw wygenerować trasę, ale z zastępczy, a następnie zastąpić że z wartości zmiennej kiedy neccessary: ​​

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

Coś jak to powinno działać dla ciebie.

Powiązane problemy