【问题标题】:CakePHP dynamic elementCakePHP 动态元素
【发布时间】:2010-06-15 01:22:13
【问题描述】:

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

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

关于如何实现这样的事情的任何一般指示?

【问题讨论】:

    标签: cakephp element


    【解决方案1】:

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

    $this->layout('ajax')

    然后你就可以设置一个完整的堆栈来处理这个,并将各种东西作为参数传递给控制器​​动作。

    通过使用 Ajax,您无需担心传入引用控制器/操作对。您还可以通过调用MessagesController 来使用此返回来更新列表。这样做的额外好处是您可以在实际控制器中切换布局,因此根本不需要编写任何额外的代码。

    在您的控制器中,您可以检查 Ajax

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

    【讨论】:

    • 感谢您的指导。我会调查的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    相关资源
    最近更新 更多