我正在使用Sonata来满足项目中的特定需求。
实际上,我创建了一个只有一个页面的JS接口(带有ExtJS),每个按钮只调用一个AJAX请求来显示内容。所以页面永远不会重新加载。该URL类似于www.blob.com/blob
按钮应该通过AJAX调用来调用Sonata管理界面。 它工作正常,管理界面显示在ExtJS容器中。
但是,当我点击管理界面内的按钮(如添加按钮)时,它会将我重定向到Sonata管理员URL,如www.blob.com/admin/dashboard/list/add等。< / p>
那么,我希望Sonata Admin Interface中的所有按钮都使用AJAX而不是刷新页面。
我发现这个答案How to use Ajax within Sonata Admin forms?非常好。但我几乎无法理解它,它似乎只适合特定的需要。
有没有人知道一个可以“轻松”处理的解决方案。 因为目前我看到的唯一解决方案是编辑我的Bundle的所有AdminClass和Controllers(~50)。
谢谢,希望我尽可能清楚。
答案 0 :(得分:0)
我认为您可以使用Javascript在链接(<a>
标签)上的所有点击事件与类sonata-ba-action
进行处理,以便在AJAX中进行处理。
类似的东西:
jQuery('a.sonata-ba-action').on('click', function (e) {
var url = jQuery(this).attr('href');
jQuery.get(url, function (data) {
jQuery('#yourContainer').html(data);
});
return false;
});