3

我已经学习了 codeigniter 的基础知识,现在正在学习模块。

我的问题: 我在 modules 文件夹中创建了两个文件夹,first_module并且second_module.

first_module控制器内部我的代码:

<?php
    class First_module extends MX_Controller {
    public function index()
    {
        $this->load->view('first_module_view');            
    }
}
?>

first_module_view页面代码:

<html>
<body>
    <h1> hey this is first module </h1>
    <?php 
        echo Modules::run('second_module/second_module');
    ?>
</body>
</html>

second_module控制器页面:

<?php
class Second_module extends MX_Controller {
    public function index()
    {
        $this->load->view('second_module_view');
    }
}
?>

second_module_view页:

<html>
<body>
    <h1> hey this is second module </h1>
</body>
</html>

我正在尝试first_module使用 second_module 的控制器在视图中部分查看第二个模块视图,但这不起作用。
单独两个代码都可以正常工作,但Modules::run()似乎不起作用。

我错过了什么吗?

4

1 回答 1

1

我知道您已经找到了解决方案,但这并不能回答您提出的确切问题,但是,我通常会这样做:

       <?php
            class First_module extends MX_Controller {
            public function index()
            {
                 $content = array();

                //send content array to 2nd view and return everything as a string to be added as content to the first view

               $content["second_view"] = $this->load->view('second_module_view',$content,true);

               $this->load->view('first_module_view',$content);            
            }
        }
        ?>

然后第一个模块视图变为:

<html>
<body>
    <h1> hey this is first module </h1>
    <?php 
        echo $second_view;
    ?>
</body>

我没有专门使用模块,但是这就是我使用控制器和视图的方式。我会尽我所能限制视图内对模型和模块的调用。只需传入模型中控制器中生成的变量即可。

于 2012-08-24T13:11:29.240 回答