モーダルボックスにコンテンツを表示するだけで、別のモデルやコントローラを作成しないでください。
あなたのユーザーのショッピングカートをモデルに表示したい場合は、それを気にする人はUsersControllerです。つまり、同じ情報ですが、異なる方法で表示されます。
だから、私はこのようなことをします。私はコントローラーをそのままにしておきたいと思います。たとえば、ショッピングカートが何であるかを見たい場合は、そのアクションにajax呼び出しを行い、レイアウトを表示しません。
だから、あなたがUserController:
class UsersController... {
function shoppingCart(){
//doing some stuff...
$this->layout=null;
//here you could use $this->render(); but it's not necessary
}
}
そして、あなたのビューで、あなただけの(jqueryのを使用して)AJAX呼び出しを行います。
<?php $shoppingCartUrl = $this->Url(array('controller'=>'users','action'=>'shoppingCart'));
$.ajax({
url: $shoppingCartUrl,
context: document.body,
success: function(data){
$("#modal").html(data)
}
});
は、それが動作願っています。