我想将 Javascript 变量的值分配给这样的 twig 变量:
$(".change-mod").click(function(){
var id=$(this).attr("id");
{{% set page = 'here i want to assign id to page' %}}
});
我该怎么做?
我想将 Javascript 变量的值分配给这样的 twig 变量:
$(".change-mod").click(function(){
var id=$(this).attr("id");
{{% set page = 'here i want to assign id to page' %}}
});
我该怎么做?
这很简单,不可能。这是两个不同的东西。
Javascript 在客户端浏览器上运行,TWIG 模板系统在服务器上生成。
您可以仅在生成的页面上或通过 AJAX 请求和来自服务器响应的内容替换生成的 HTML 内容。
这是我的愚蠢解决方案
$(".change-mod").click(function(){
var id=$(this).attr("id");
$.ajax({
url: 'jstotwig.php',
type: 'POST',
data: {id: id},
success: function(data) {
var page = "here i want to assign"+data+"to page"
}
});
});
请记住,它实际上不允许您将 javascript 变量分配给 twig 变量,但它允许您在客户端生成路径,您可以在此处阅读http://symfony.com/doc/current/book/ routing.html#generating-urls,文档指向一个包,它可以让你完全做到这一点https://github.com/FriendsOfSymfony/FOSJsRoutingBundle,甚至可以将 javascript 变量分配给树枝,但这不是什么这个捆绑包可以。