我想用CakePHP创建一系列页面。我知道你可以简单地在pages文件夹中创建一个视图但是如果我想构建如下的分层页面:/ legal / policy /
此外,如果我想/ legal /不存在,即。只作为前缀我怎么也这样做?
所以有两个问题:
1。)如何创建分层页面 2.)如何创建像/ legal / so domain.com/legal这样的前缀会抛出404但domain.com/legal/policy会显示一个页面
由于
答案 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建议的路由。