2010-06-15 123 views
0

我正在尝试在CakePHP应用程序中创建消息板类型元素。此元素将显示在使用特定布局的所有页面和视图中。我希望它显示模型中的所有消息,然后在单击链接时显示添加表单,然后在提交时返回到更新的消息列表。所有这些都不影响当前的视图/页面。CakePHP动态元素

我有我的消息模型/控制器/索引设置,与请求索引操作的留言板元素。这工作正常。不过,我对如何返回链接被点击的原始页面/操作感到困惑。我不能使用$ this-> referer(),因为它会链接回add()动作;我想要的是在此之前链接到页面/视图。

任何关于如何实现这样的一般指针?

回答

0

我会使用Ajax来处理这个问题,并使用ajax布局。

$this->layout('ajax')

然后你就可以设置为处理此一完整的堆栈,并作为参数到控制器的动作通过各种各样的事情。

通过使用Ajax,您无需担心传入引用控制器/操作对。您也可以使用此处的退货通过致电MessagesController来更新列表。这个额外的好处是你可以在实际的控制器中切换布局,因此不必编写任何额外的代码。

在你的控制器,你可以检查阿贾克斯

if($this->params['requested']){ 
    $this->layout('ajax'); 
    return $data; 
}else{ 
    $this->set('data',$data); 
} 
+0

谢谢你的方向。我会研究这一点。 – 2010-06-15 14:15:44