我正在使用 phil sturgeon 的 codeigniter 模板引擎,但我有问题如何使用set_partial()方法将变量传递给局部视图。
我用了 :
$this->template->set_partial('name_partial','path/to/partial',$_data_to_pass);
但是在视图中我使用var_dump($data_to_pass)
的变量似乎不存在。
我在文档中读到,可以使用该函数仅将额外数据传递给部分数据。
我正在使用 phil sturgeon 的 codeigniter 模板引擎,但我有问题如何使用set_partial()方法将变量传递给局部视图。
我用了 :
$this->template->set_partial('name_partial','path/to/partial',$_data_to_pass);
但是在视图中我使用var_dump($data_to_pass)
的变量似乎不存在。
我在文档中读到,可以使用该函数仅将额外数据传递给部分数据。
如果有人遇到问题,将任何$_data_to_pas
作为数组传递但仍然无法识别,请尝试打开 library/template.php 并找到此行(内部public function build
):
$template['partials'][$name] = $this->_find_view($partial['view'], $partial['data'],
真的);
改成:
$template['partials'][$name] = $this->_find_view($partial['view'], $partial['data'],
错误的);
这个对我有用。
您的变量 _data_to_pass 是一个数组。您将此数组的内容传递给视图而不是数组。所以视图中只存在这个数组的内容。
正如@Swerk 所说,您需要将数据作为数组传递。尝试更改此行:
$this->template->set_partial('name_partial','path/to/partial',$_data_to_pass);
对此:
$this->template->set_partial('name_partial','path/to/partial',array('data_to_pass' = > $_data_to_pass));
然后检查您的部分视图 var_dump($data_to_pass);