一个布局中的多视图

时间:2016-08-09 05:51:53

标签: cakephp cakephp-3.0

我知道如何使用元素在布局上渲染多个视图。

我想问的是,我说有多个控制器用于多种操作。例如,UsersController,ArticlesController和BooksController。假设我想从每个控制器中提取五个最新数据,并将它们放在一个布局中,就像在主页中一样。

你是怎么做到的?

2 个答案:

答案 0 :(得分:1)

<强> PagesController.php

class PagesController extends AppController {
    public function initialize() {
        parent::initialize();

        $this -> loadModel('Users');
        $this -> loadModel('Articles');
        $this -> loadModel('Books');

    }

    public function home() {

        $users = $this -> Users -> find('all') -> order(['Users.id' => 'desc']) -> limit(5);
        $articles = $this -> Articles -> find('all') -> order(['Articles.id' => 'desc']) -> limit(5);
        $books = $this -> Books -> find('all') -> order(['Books.id' => 'desc']) -> limit(5);

        $this -> set(compact('users', 'articles', 'books'));
    }  
}

现在你可以看到最近5个用户,文章和书籍了 信息页/ Home.ctp

答案 1 :(得分:0)

您应该为不同的控制器提取不同变量的数据。并在布局中使用这些变量。