2011-08-06 126 views
0

根据上一个问题,我正在为codeigniter设置HMVC扩展。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home 不幸的是,我找不到很多文件的方式。CodeIgniter HMVC设置

我很困惑如何设置我的文件夹。我已经复制了third_party中的MX文件夹以及核心文件夹中的文件。之后,我创建了一个application/modules文件夹。从那里我想创建一个横幅滑块小部件。我在模块中创建了一个名为'slider'的子文件夹,其中包含'controllers','models'和'views'文件夹。在我的应用程序/ modules/slider/controllers /文件夹中,我有一个名为main.php的控制器。在我的应用程序/模块/滑块/模型/文件夹中我有一个名为slider_model.php的模型。首先,这是一个适当的文件夹结构吗?如果是这样,这是我遇到的问题。

加载网站我的welcome.php控制器看起来是这样的:

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

class Welcome extends CI_Controller { 

/** 
* Index Page for this controller. 
* 
* Maps to the following URL 
*  http://example.com/index.php/welcome 
* - or - 
*  http://example.com/index.php/welcome/index 
* - or - 
* Since this controller is set as the default controller in 
* config/routes.php, it's displayed at http://example.com/ 
* 
* So any other public methods not prefixed with an underscore will 
* map to /index.php/welcome/<method_name> 
* @see http://codeigniter.com/user_guide/general/urls.html 
*/ 
public function index() 
{ 
    $this->load->view('header'); 
    $this->load->view('welcome_message'); 
    $this->load->view('footer'); 
} 
} 

/* End of file welcome.php */ 
/* Location: ./application/controllers/welcome.php */ 

里面的welcome_message.php视图我有以下几点:

<? echo Modules::run("slider/main/getcontent/"); ?> 

然后,主控制器我里面有这个:

<?php 
class Main extends MX_Controller{ 
function __construct(){ 
    parent::__construct(); 
    $this->load->model('slider/Slider_model','Slider'); 
} 

function getcontent(){ 
    // 
    //echo $this->Slider->test_conn(); 
    echo "Testing..."; 
} 
} 

?> 

就这样我得到这个错误:致命错误:不能r edeclare class CI in /homepages/15/d94236848/htdocs/application/third_party/MX/Base.php on line 57

我错过了什么?

+0

想通了。在我的welcome.php控制器上,我需要对其进行更改,以便扩展MX_Controller而不是CI_Controller。我还需要删除welcome_message.php中模块调用中的最后一个斜杠。 – LoneWolfPR

+1

如果你已经回答了这个问题,请添加它作为答案,然后标记回答的问题。 – cwallenpoole

回答

1

根据上面的评论,我重新发布我的评论作为答案。

想通了。在我的welcome.php控制器上,我需要对其进行更改,以便扩展MX_Controller而不是CI_Controller。我还需要删除welcome_message.php中模块调用中的最后一个斜杠。