我正在尝试在CakePHP应用程序中创建一个留言板类型的元素。此元素将显示在使用特定布局的所有页面和视图上。我希望它显示模型中的所有消息,然后在单击链接时显示添加表单,然后在提交时返回到更新后的消息列表。所有这些都不会影响当前视图/页面。
我设置了消息模型/控制器/索引,并设置了一个请求索引操作的留言板元素。这可以很好地工作。然而,我对如何返回到单击链接的原始页面/操作感到困惑。我不能使用$this->referer(),因为它会链接回add()操作;我想要的是链接到之前的页面/视图。
对于如何实现这样的事情,有什么一般性的建议吗?
发布于 2010-06-15 21:01:46
我将使用Ajax来实现这一点,并使用ajax布局。
$this->layout('ajax')
然后,您将能够设置一个完整的堆栈来处理此事件,并将各种内容作为参数传递到控制器操作中。
通过使用Ajax,您将不需要担心传入引用控制器/操作对。您还可以通过调用MessagesController来使用由此返回的内容来更新列表。这样做的额外好处是,您只需在实际控制器中切换布局,因此根本不需要编写任何额外的代码。
在您的控制器中,您可以检查Ajax
if($this->params['requested']){
$this->layout('ajax');
return $data;
}else{
$this->set('data',$data);
}https://stackoverflow.com/questions/3042006
复制相似问题