2012-08-22 28 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/

它可能会花费你一些时间来阅读,但后来它会为你节省大量的时间。

祝你好运!