首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于加载一组视图的自定义MY_Loader

用于加载一组视图的自定义MY_Loader
EN

Stack Overflow用户
提问于 2013-02-11 10:16:48
回答 2查看 2K关注 0票数 1

我想使用一个自定义的load ->视图,一旦创建,它将为页面加载一组视图。它将具有与$this->load->view()相同的功能,但也具有预加载其他视图的能力。我该如何写这篇文章并让它工作呢?谢谢

代码语言:javascript
复制
<?php

class MY_Loader extends CI_Loader
{
    function __construct()
    {
        parent::__construct();
    }

    function admin_view($load_page, $vars=array())
    {
        $this->load->view('admin/header');
        $this->load->view($load_page);
        $this->load->view('admin/footer');
    }

    function members_view()
    {
        //same purpose as admin view
    }

    function public_view()
    {
        //same purpose as admin view
    }


}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-11 12:02:12

这看起来是正确的,只是您不需要调用$this->load,因为您已经“在”CI_Loader中(通过您的扩展),所以您可以尝试:

代码语言:javascript
复制
function admin_view($load_page, $vars=array())
{
    $this->view('admin/header');
    $this->view($load_page);
    $this->view('admin/footer');
}

这意味着您可以访问CI_Loaderview方法,因为您已经使用类对其进行了扩展。

票数 0
EN

Stack Overflow用户

发布于 2013-02-11 16:59:26

我曾经在views/_includes中有一个template.php,如下所示:

代码语言:javascript
复制
<?php
    $this->load->view('_includes/header');
    $this->load->view($view);
    $this->load->view('_includes/footer');

所以我想要加载的$view是通过控制器传递的。例如:

代码语言:javascript
复制
class News extends MY_Controller {
    public function index()
    {
        $data['view'] = 'admin/news/index';
        $data['results'] = $this->news_model->get_all);
        $this->load->view('admin/_includes/template', $data);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14805025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档