2011-08-01 45 views

回答

0

您可以使用pages controller来达到此目的。在APP/views/pages/,其名称about_us.ctpcontact_us.ctp

创建视图将允许您在URL访问它们:

www.site.com/pages/about_us

然后你可以改变这些URI如何看待与路由。

+0

我已经创建和检查,..但它不工作.. –

+0

你有没有修改pages_controller? – raultm

+0

@raultm:你根本不需要修改页面控制器。 –

4

/app/views/pages/文件夹中创建一个about.ctp

然后在/app/config/routes.php文件中添加Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));。你应该可以访问它www.yoursite.com/about

+0

我在/ app/views/pages /文件夹中创建了文件blog.ctp。我也有评论,路由器::连接('/博客/',数组('控制'=>'页','行动'=>'显示','博客'));进入/app/config/routes.php。但仍然没有得到页面。 –

+0

你是否收到一个空白页? – Jack

+0

我按照你的指示,但它没有工作。显示了关于控制器的错误。不要在第一个参数中使用'/ about /',请使用'/ about'。放下第二个斜线。 –

6

旧的线程,但我发现它,而试图在2.x做同样的事情。

杰克的回答是正确的,有一个小的错字。它应该是

Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));

希望这可以帮助其他人,因为它没有我。

2

Read more here

方法1:如果你想创建内容页面,如公司简介,其内容可以通过管理界面改变隐私策略请按照下列步骤

第一步:更改pagesController

class PagesController extends AppController { 
function beforeFilter() { 
    $this->Auth->allow('content');//to allow to be visible for non-logged in users, if you are using login system 
    parent::beforeFilter(); 
} 
public function content($id = null, $layout = null, $theme=null) { 
    if ($layout) $this->layout = $layout;//if you are using mulitple layouts and themes and want to change it dynamicaly 
    if ($theme) $this->theme = $theme; 

    $this->set('content', $this->Page->find('first', array('conditions' => array('Page.id' => $id)))); 
    $this->Page->id= $id; 
    $this->set('title_for_layout', $this->Page->field('title')); 

} 

}

第2步:添加一个表格内容,您需要像id,标题,内容,图像,主题,layo UT斯达康等 步骤3:在查看/网页添加content.ctp

<div class="row innerPage">  
<div class="col-lg-12 col-md-12 col-sm-12"> 
    <div class="row userInfo"> 
    <div class="col-xs-12 col-sm-12"> 
     <h1 class=" text-left border-title"> <?php echo $content['Page']['title'];?> </h1> 
     <div class="w100 clearfix"> 
     <?php echo $content['Page']['content'];?> 
     </div> 
    </div> 
    </div> 


但是您可以根据自己的需要更改HTML,我更喜欢引导框架。

然后你可以使用它作为

<?php echo $this->html->link("Terms of Services", array("controller" => "pages", "action" => "content", 5), array("class" => 'themeprimary','target'=>'_blank')) ?> 

,这将产生一个链接yoursite /网页/内容/ 5。 5是你想显示细节的行的id。

如果你想要你的链接像yoursite /条款那么你需要再走一步。在routes.php中添加这一行。

Router::connect('/terms', array('controller' => 'pages', 'action' => 'content',5)); 

方法2:您只需要没有任何数据库 第一步,显示内容:只要创建下查看/页一个about.ctp,把你想显示 步骤2中的内容:更改pagesController。添加一个方法约

public function about($layout = null) { 
    $this->set('title_for_layout', 'About');  
} 

那就是它。

2

由于cakephp的新版本刚刚出来,我添加了这个答案来处理新版本(3.x)。

要链接到静态页面,您仍然使用PageController,但代码稍有更改。

这里的代码,你需要在3.x版本

$routes->connect('/about', ['controller' => 'Pages', 'action' => 'display', 'about']); 

你可以阅读更多有关新routing system here

我与cakephp没有任何关系。我添加了这个答案,因为我发现这篇文章,同时搜索如何做到这一点在3.0

+0

也适用于2.6 –

相关问题