如何创建CakePHP页面

时间:2011-01-04 22:06:12

标签: cakephp

我想用CakePHP创建一系列页面。我知道你可以简单地在pages文件夹中创建一个视图但是如果我想构建如下的分层页面:/ legal / policy /

此外,如果我想/ legal /不存在,即。只作为前缀我怎么也这样做?

所以有两个问题:

1。)如何创建分层页面 2.)如何创建像/ legal / so domain.com/legal这样的前缀会抛出404但domain.com/legal/policy会显示一个页面

由于

2 个答案:

答案 0 :(得分:1)

您正在做的是通过CakePHP中的路由处理。请查看“页面”部分下的手册。

基本上,您将在routes.php中创建类似于以下的Route:

Router::connect( '/legal/:page', array( 'controller' => 'pages' /* or other controllers */, 'action' => 'display'), array( 'pass' => array( 'page' ) );

这会将/ legal / *连接到PagesController :: display($ page = null),第一个参数(在“legal /”之后)作为$ page传递。

回答#1。

对于#2,我建议只检查$ page是否为null。如果是,那么你就是该路线的根(/ legal /)。只需在PagesController中重定向到那里的404页面。

答案 1 :(得分:1)

您可以将视图放在以下位置:

/app/views/pages/legal/policy.ctp

然后可通过以下网址访问:www.example.com/pages/legal/policy

如果您想从URL中删除/ pages /,请使用Travis Leleu建议的路由。