【问题标题】:having a fixed view across all controllers in Codeigniter在 Codeigniter 中的所有控制器中具有固定视图
【发布时间】:2014-01-03 16:47:41
【问题描述】:

为了在 CodeIgniter 中加载视图,我必须重复加载固定视图(页眉和页脚),这对于每个与视图相关的控制器都重复有点烦人。

目前,当我想在 CI 中加载视图时,我会执行以下操作:

$this->load->view("header");
$this->load->view("index");
$this->load->view("footer");

然后,如何更改$this->load->view(); 以获取允许在目标视图之前/之后加载视图的参数(例如布尔值)。比如这个:

$this->load->view("index", TRUE, FALSE, $data); // TRUE=>header  FALSE=>footer $data=>common variable

是否可以像这样破解该功能?

【问题讨论】:

  • 创建您的模板助手。这将加载所有这些。我们有一个供我们内部使用。

标签: php codeigniter templates


【解决方案1】:

试试这个库,它对我有用,当我使用它时

https://github.com/philsturgeon/codeigniter-template

【讨论】:

    【解决方案2】:

    您可以使用library

    创建一个名为template.php 的新库文件并编写一个名为load_template 的函数。在那个函数中,使用上面的代码。

    公共函数 load_template($view_file_name,$data_array=array()) {

    $ci = &get_instatnce();

    $ci->load->view("header");

    $ci->load->view($view_file_name,$data_array);

    $ci->> load->view("footer");

    }

    你必须在配置文件夹的自动加载文件中加载这个库。所以你不想加载所有控制器。

    你可以这样的功能

    $this->template->load_template("index");

    如果你想传递日期来查看文件,那么你可以通过$data_array发送

    【讨论】:

    • 太棒了,我不知道为什么我自己没有猜​​到。非常感谢
    • @Mostafa 接受答案将帮助其他人找到好的答案
    猜你喜欢
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多