如何在CodeIgniter的视图中定位控制器函数的数据输出


How to position a controller function's data output on a view in CodeIgniter

作为MVC的初学者,我想给CodeIgniter一个尝试,我在PHP中学习了MVC模式的基础知识,但有一个问题,我无法解决。

我在我的"帮助"控制器中有一个"引用"函数,需要在视图中的特定位置输出。但是,函数的数据实际上输出到正文的顶部。

它给了我什么:http://gyazo.com/1a17e9208c42f4b5d01e86ddad9a6d18

我需要它在左列

My Help controller:

Class Help extends CI_Controller {
    function __construct() {
        parent::__construct();
        $this->load->view('help_reference_head_view');
    }
    function reference($perm_reference) {
        $this->load->model('help_model');
        $this->help_model->getReference($perm_reference);
    }
}
我help_model

:

Class help_model extends CI_Model {
    function getReference($perm_reference) {
        $this->db->select('*');
        $this->db->from('help');
        $this->db->where('perm_reference', $perm_reference);
        $q = $this->db->get();
        if($q->num_rows() == 1) {
            foreach ($q->result() as $key) {
                echo '<h2> ' . $key->perm_reference . '</h2>';
                echo $key->desc;
                $this->load->view('help_reference_footer_view');
            }
        } else {
            return false;
        }
    }
}

help_reference_head_view文件(数据输出应该在该文件的真正底部,就在col-md-9div之后):http://gyazo.com/60d52006d63c93f1a96613ce46db2024

在我的脑海中,你可能会创建一个主模板,并根据控制器响应加载多个视图。

h2控制器

class Helper extends CI_Controller
{
    public $template;
    public function __construct()
    {
        $this->template = 'layout/default'; //views/layout/default
        $this->load->model('help_model');
    }
    public function index()
    {
        $reference = $this->help_model->getRef( $permissions );
        if(!$reference){
            return show_404();
        }
        return $this->load->view($this->template, array(
            'view'  =>   'help/index',
            'sidebar'  =>  $this->load->view('sidebar/index', array( 'data' => $reference), true)
        ));
    }
}

class Helper_Model extends CI_Model
{
    public function getRef( $permissions )
    {
        $this->db->select() // prolly don't need this as it will return * by default
                 ->from('help')
                 ->where('perm_reference', $permissions);
        $responce = $this->db->get();
        return ($responce->num_rows() > 0 ) ? $responce->result : false;
    }
}

主视图(views/layout/default)

<section>
    <?php echo $this->load->view($view); ?>
</section>
<aside role="sidebar">
    <?php if($sidebar) : ?>
    <div class=help>
        <?php echo $this->load->view($sidebar); ?>
    </div>
     <?php endif; ?>
    <div>
        //default sidebar stuff
    </div>
</aside>