2012-08-17 29 views
16

Bir Twig şablonunun içinde bir Javascript içinde bir rota oluşturmaya çalışıyorum ve bir JS değişkenini bir rota parametresine değer olarak kullanmam gerekiyor.Silex framework'ü kullanarak Twig şablonunda Javascript değişkenini kullanma

Örnek:

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

Ben Silex çerçevesini kullanarak ve FOS JS Silex'deki için çalışıyorsa emin değilim ediyorum. Gerçi öyle değil sanırım.

+0

FOSJsRoutingBundle - http://stackoverflow.com/a/7626995/276648 ilginizi çekebilir. – user276648

cevap

41

Twig, PHP ile yazıldığından beri, sunucuda, javascript kodundan tamamen ayrı olarak çalışır, böylece istediğiniz bir geçici çözüm gerektirir.

Birincisi, rotayı oluşturmak, ancak gerekli olduğunda bir yer tutucu ile, sonra değişkenin değeri ile o değiştirin: Böyle

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

şey sizin için çalışması gerekir.