加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在CakePHP中为“home”视图添加控制器功能

发布时间:2020-12-13 22:03:26 所属栏目:PHP教程 来源:网络整理
导读:访问默认的Cake PHP网站时,会转到“home.ctp”页面. Router::connect('/',array('controller' = 'pages','action' = 'display','home')); 我想在那里添加一些元素(比如博客帖子),所以我想我可以将它添加到PagesController()类: public function home() { $t
访问默认的Cake PHP网站时,会转到“home.ctp”页面.

Router::connect('/',array('controller' => 'pages','action' => 'display','home'));

我想在那里添加一些元素(比如博客帖子),所以我想我可以将它添加到PagesController()类:

public function home() {
    $this->set('blogposts',$this->Blogpost->find('all'));
}

但这不起作用.

那么:在主页(或任何其他页面)上添加这样的东西的正确方法是什么

解决方法

首选项是为主页创建自定义路由,但您也可以覆盖PagesController的显示功能

选项1 :(首选方法)

Router::connect('/',array('controller' => 'mycontroller','action' => 'myaction'));

选项2

Router::connect('/','action' => 'home'));

选项3:

class PagesController {
    function display()
    {
        // default controller code here
        // your custom code here
    }
}

最后一个选项是在您的视图中使用requestAction,但不推荐使用它,因为它具有巨大的性能缺陷

选项4 :(不推荐)

$newsitems = $this->requestAction(array('controller' => 'newsitems','action' => 'getlatestnews','limit' => 10));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读