我希望在我的应用程序中使用情态,为此我将使用jQuery的UI对话框(除非有人有更好的建议)。我希望保持所有模态内容严格在CakePHP框架内,如果可能的话,但我不知道如何做到这一点。
我如何触发一个模态,使用/controllers/_modals
的控制器和/view/_modals
的视图,并且仍然可以通过Ajax调用访问Cake的框架,包括模态?
你不应该仅仅为了在模态框上显示内容而创建单独的模型或控制器。
想想看,如果你想在一个模型中显示你的用户的购物车,负责它的是UsersController。我的意思是,是相同的信息,但以不同的方式显示。
所以,我会这样做。我将保持控制器的方式,并且,例如,如果我想要查看购物车,那么您可以对该操作进行ajax调用,而不显示布局。
所以你的UsersController:
class UsersController... {
function shoppingCart(){
//doing some stuff...
$this->layout=null;
//here you could use $this->render(); but it's not necessary
}
}
然后,在你的视图中,你只需进行ajax调用(使用jquery):
<?php $shoppingCartUrl = $this->Url(array('controller'=>'users','action'=>'shoppingCart'));
$.ajax({
url: $shoppingCartUrl,
context: document.body,
success: function(data){
$("#modal").html(data)
}
});