我正在使用phil sturgeon的codeigniter模板引擎但我有问题如何使用 set_partial()方法将变量传递给局部视图。
我用过:
$this->template->set_partial('name_partial','path/to/partial',$_data_to_pass);
但在视野中我使用var_dump($data_to_pass)
变量似乎不存在
我在文档中读到可以将额外数据仅传递给具有该功能的部分数据。
答案 0 :(得分:0)
您的varbele _data_to_pass是一个数组。您将此数组的内容传递给视图而不是数组。因此,视图中只存在此数组的内容。
答案 1 :(得分:0)
正如@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);
答案 2 :(得分:0)
如果有人遇到问题,将任何$_data_to_pas
作为数组传递但仍然无法识别,请尝试打开libraries / template.php并找到此行(在public function build
内):
$template['partials'][$name] = $this->_find_view($partial['view'], $partial['data'],
TRUE );
更改为:
$template['partials'][$name] = $this->_find_view($partial['view'], $partial['data'],
的 FALSE 强> );
它对我有用。