2010-11-03 47 views

回答

5

在PagesController(您可以从cake/libs/controller复制)。或者,您可以更改“/”的路径以指向您选择的控制器/操作。

+0

我可以把一个页面控制器在应用/控制器?可以页面控制器有行动吗? – 2010-11-03 06:20:22

+3

@Harsha页面控制器没什么特别的。只需在'cake/libs/controller/pages_controller.php'中查看即可。将你自己的'pages_controller.php'放在'app/controllers'中,用你自己的版本来覆盖它,它可以完成一个普通的控制器。 – deceze 2010-11-03 06:34:29

+0

真棒:D,但我有views/pages文件夹中的几页。所以我将不得不将它转换为views/pages的权利? – 2010-11-03 06:38:46

2

@dhofstet:谢谢!

现在我可以访问我的主页

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

没有被记录在

这是我应用程序/控制器/ pages_controller.php

<?php 
class PagesController extends AppController { 
    var $name = 'Pages'; 
    var $helpers = array('Html', 'Session'); 
    var $uses = array(); 

    function beforeFilter() { 
     parent::beforeFilter(); 
     $this->Auth->allow('home'); 
    } 

    function home() { 
    } 

    function display() { 
     $path = func_get_args(); 

     $count = count($path); 
     if (!$count) { 
      $this->redirect('/'); 
     } 
     $page = $subpage = $title_for_layout = null; 

     if (!empty($path[0])) { 
      $page = $path[0]; 
     } 
     if (!empty($path[1])) { 
      $subpage = $path[1]; 
     } 
     if (!empty($path[$count - 1])) { 
      $title_for_layout = Inflector::humanize($path[$count - 1]); 
     } 
     $this->set(compact('page', 'subpage', 'title_for_layout')); 
     $this->render(implode('/', $path)); 
    } 
} 
?>