我正在使用Codeigniter进行项目,我使用当前代码通过解析器加载主页面,并使用加载视图加载顶部和侧面菜单:
public function index(){
$main = [
'main_nav' => $this->load->view('nav/main_nav', NULL, TRUE),
'top_nav' => $this->load->view('nav/top_nav', NULL, TRUE),
];
$this->parser->parse('main_view', $main);
}
通过这种方式,我可以更改导航一次,并在所有页面中进行更改。 我需要通过“解析器”来完成它,因为我必须传递一些变量和函数。
如果我使用解析器而不是视图更改main_nav
和top_nav
,则会收到错误。
有没有办法在另一个解析器中加载解析器?
答案 0 :(得分:0)
我发现你不能传递NULL
作为Parser的第二个参数,必须是一个数组(可以是空的,但不能省略)。
所以这个:
$this->load->view('nav/main_nav', NULL, TRUE);
成为这个:
$content = [];
$this->parser->parse('nav/main_nav', $content, TRUE);
或
$this->parser->parse('nav/main_nav', [], TRUE);