CakePHP - jQuery模态与cakemvc结构保持一致


CakePHP - jQuery modals in keeping with Cake's MVC structure

我希望在我的应用程序中使用情态,为此我将使用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)
  }
});