0

这是我的第一次 hmvc 尝试,但它出错了......我试图通过不同的模块分隔我的站点区域。然后我的意图是使用 ion_auth 控制 hmvc 的访问。那是我的初始结构:

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

因此,为了做到这一点(在 core 和 third_party 文件夹上安装 hmvc),我尝试将“public_zone”控制器设置为“default_controller”。他的任务是加载根页面('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 概念......但事实是我不知道为什么它不起作用:(

4

1 回答 1

1

首先,保持 CI 结构完整是很重要的。所以你需要这个结构:

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

当然,您还需要 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/

阅读可能会花费您一些时间,但稍后会为您节省大量时间。

祝你好运!

于 2012-08-22T11:29:12.060 回答