我是Cake的新手,我不完全明白我应该如何结合内容。
我有5-6个静态页面,它们默认为Pages Controller服务,所以它们是通过链接example.com/pages/page_name打开的,我只为它们制作了视图。
但是对于其中一些页面,我想添加CRUD功能。
For example: example.com/pages/index - static example.com/pages/news - have CRUD example.com/pages/about - static etc.
我如何看待此问题的解决方案: 1.为需要CRUD的页面制作模型+控制器,然后用
进行路由Router :: connect('/ pages / news',array('controller'=>'news','action'=>'display'));
我是对的还是有一种不同的,更正确的方式?
答案 0 :(得分:3)
CakePHP是一个MVC框架,代表:Model,View,Controller。所以基本上,你所做的每一个请求都应该通过一个控制器来完成以下操作:
所以回答你的问题:是的,你需要有一个'新闻'控制器和一个'新闻'模型,你需要注册该控制器并在从模型中获取数据后将数据传递给视图。 / p>
答案 1 :(得分:1)
将pagesController从cake / libs / controllers目录复制到app / controllers目录中,并像使用其他控制器一样使用它。您可以在其中创建一个function news
来加载模型($this->loadModel()
),或者通常只在PagesController中包含一个模型,就像任何常规控制器一样。
制作专用的NewsController可能是一个更好的主意,但这取决于您以及您希望如何组织您的应用。正如您所说,如果更有意义,您可以将指向NewsController的URL“别名”为其他内容。