如果我使用它,它正在工作。但如果我重命名功能名称,它会显示 错误
在视图文件中:
echo $this->Html->link(
'<span>Page 1</span>',
array('action' => 'ra'),
array('escape' => false));
在控制器中:
public function ra()
{
$this->render('ra');
}
答案 0 :(得分:1)
按照惯例,视图文件必须与方法(操作)名称相同。
如果要更改网址的外观,则应使用routes,而不是重命名方法/视图。
如果您希望为给定操作呈现不同的.ctp
文件,则可以覆盖默认行为,如下所示:
public function ra() {
$this->render('my_other_view');
}
URL中指定的action
必须始终存在以避免错误(但路由允许您为操作使用替代“名称”并将它们映射到适当的控制器方法)。
答案 1 :(得分:0)
视图模板文件以它们显示的控制器功能命名,以下划线形式。 PeopleController类的getReady()函数将在/app/views/people/get_ready.ctp.
基本模式为/app/views/controller/underscored_function_name.ctp.
通过使用CakePHP约定命名应用程序的各个部分,您可以获得功能而无需配置的麻烦和维护。这是一个关联约定的最后一个例子
数据库表:“人”
型号类:“人物”,在/app/models/person.php
找到
控制器类:“PeopleController”,位于
/app/controllers/people_controller.php
View template, found at /app/views/people/index.ctp
阅读: View Conventions
另请阅读: CakePHP Conventions