2012-08-22 41 views
0

這是我的第一個hmvc嘗試,它出錯了......我試圖通過不同的模塊分隔我的站點區域。然後我的意圖是控制訪問使用ion_auth hmvc。那是我最初的結構:使用Codeigniter 2.1獲取404 - HMVC 5.4

/application 
    /modules  <-- hmvc 
    /public_zone 
     /controller 
     public_zone.php 
     /view 
     ... 
    /private_zone 
    ... 

所以,要做到這一點(安裝HMVC核心和THIRD_PARTY文件夾),我試圖設置爲「default_controller」的「public_zone」控制器。 他的任務是加載根頁面('localhost'),但是* 它返回一個404錯誤。 *

這是我public_zone.php文件:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Public_zone extends MX_Controller { 

    public function index() 
    { 
     $this->load->view('include/header'); 
     $this->load->view('frontpage'); 
     $this->load->view('include/footer'); 
    } 

} 

也許問題是routes.php文件(的application/config/routes.php文件)文件?我會試試這個:

$route['default_controller'] = "public_zone"; 
$route['404_override'] = ''; 

任何人都可以告訴我我做錯了什麼?當然我誤解了一些hmvc概念......但事實是我不知道它爲什麼不起作用:(

回答

1

首先,重要的是你保持CI結構完好無損 所以你需要結構:

/application 
    /controllers 
     public_zone.php 
    /views 
     frontpage.php 
     /include 
      header.php 
      footer.php 
    /models 

Ofcourse,您還需要隨CI的其他文件夾

其次,你需要以使其工作在控制器中的一些變化

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Public_zone extends CI_Controller { 

public function __construct() 
{ 
    parent::__construct(); 
} 

public function index() 
{ 
    $this->load->view('include/header'); 
    $this->load->view('frontpage'); 
    $this->load->view('include/footer'); 
} 

} 

在此之後更改它應該工作:) 也請務必閱讀用戶指南:http://codeigniter.com/user_guide/

它可能會花費你一些時間來閱讀,但後來它會爲你節省大量的時間。

祝你好運!