在codeigniter中的一个方法中加载多个视图文件时,无法打印标题


unable to print title when loading many view files in one method in codeigniter

在一个方法中,当我只调用一个视图文件时,我能够打印标题如下,

$result['title'] = "bhajan songs";
$result['msg'] = $this->W_model->fetchbhajansongs();
$this->load->view('home/viewbhajansongs', $result);

但是当我加载一些不能打印标题的四个视图文件时。如下所示:

$result['msg'] = $this->W_model->fetchkawalisongs();
$this->load->view('home/portfolio2');
$this->load->view('home/header');
$result['title'] = "Kawali songs";
$this->load->view('home/viewkawalisongs', $result);
$this->load->view('home/footer');

调用视图文件有什么问题吗?请建议。

有两种方法。

1。你可以在每个视图加载行中传递$result作为第二个参数。

但是,我喜欢用另一种方式

2。

在加载任何视图之前,加载变量,使它们在每个加载的视图中都可用。

$this->load->vars($result);
$this->load->view('header');
$this->load->view('body');
$this->load->view('footer');

可以在docs中找到

这是加载通用页眉、页脚和所有通用文件和标题的最佳方法。

  1. 创建通用方法并传递data中带有title的变量

    函数view_render($template_name, $data = array(), $page_script = "){

    $ this ->视图(包括/头,元数据),

    $ this ->视图(template_name美元,美元数据),

    $ this ->视图(包括/页脚,元数据),

    如果(

    !空(page_script美元)){

      $this->view($page_script, $data);
    

    }

    }