Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter:如何在更大的页面中加载动态内容?_Php_Codeigniter_Dynamic - Fatal编程技术网

Php CodeIgniter:如何在更大的页面中加载动态内容?

Php CodeIgniter:如何在更大的页面中加载动态内容?,php,codeigniter,dynamic,Php,Codeigniter,Dynamic,保持简单,假设我有一个页面,它有一个用户特定的菜单和一个用户特定的标题,然后页面本身就是用户特定的 我可以将所有内容加载到$data中,然后加载到控制器中的类似内容中: $this->load->view('header', $data); $this->load->view('sidebar', $data); $this->load->view('page', $data); 但这看起来不是最好的方法 是否有一种方法可以完全、单独地准备一个元素,并将其包

保持简单,假设我有一个页面,它有一个用户特定的菜单和一个用户特定的标题,然后页面本身就是用户特定的

我可以将所有内容加载到
$data
中,然后加载到控制器中的类似内容中:

$this->load->view('header', $data);
$this->load->view('sidebar', $data);
$this->load->view('page', $data);
但这看起来不是最好的方法

是否有一种方法可以完全、单独地准备一个元素,并将其包含到主控制器中?我认为这样做可以保持代码更干净


也许我们可以在控制器中使用调用函数?如果是这样的话,我们如何限制这些特定功能作为
page/function
访问?

我看到了一些问题。让我试着回答。 您可以在查看文件加载时将第三个参数设置为false,这样输出将被发送到浏览器,而返回字符串

其次,您可以使用下一个语法在方法中调用现有类的其他方法:

public function index()
{
    $data['header'] = $this->page_header();
    $data['sidebar'] = $this->page_sidebar();
    $this->load->view('page', $data);
    //so in view of page view file you just output header and sidebar
}

protected function page_header()
{
    $data['data_of_header'] = $this->Some_header_data_model->get_all();
    $this->load->view('header', $data, TRUE);
}

private function page_sidebar()
{
    $data['data_of_sidebar'] = $this->Some_sidebar_data_model->get_all();
    $this->load->view('sidebar', $data, TRUE);
}
注意它们的含义


您可以搜索和检查github存储库中的一些模板库,这将使您更容易使用。

我看到了一些问题。让我试着回答。 您可以在查看文件加载时将第三个参数设置为false,这样输出将被发送到浏览器,而返回字符串

其次,您可以使用下一个语法在方法中调用现有类的其他方法:

public function index()
{
    $data['header'] = $this->page_header();
    $data['sidebar'] = $this->page_sidebar();
    $this->load->view('page', $data);
    //so in view of page view file you just output header and sidebar
}

protected function page_header()
{
    $data['data_of_header'] = $this->Some_header_data_model->get_all();
    $this->load->view('header', $data, TRUE);
}

private function page_sidebar()
{
    $data['data_of_sidebar'] = $this->Some_sidebar_data_model->get_all();
    $this->load->view('sidebar', $data, TRUE);
}
注意它们的含义

您可以搜索和检查github存储库中的一些模板库,这将使您更轻松