2010-11-03 49 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)); 
    } 
} 
?>