codeigniter phil sturgeon模板,如何使用set_partial()方法将变量传递给局部视图

时间:2012-10-13 08:19:06

标签: php codeigniter templates

我正在使用phil sturgeon的codeigniter模板引擎但我有问题如何使用 set_partial()方法将变量传递给局部视图。
我用过:

$this->template->set_partial('name_partial','path/to/partial',$_data_to_pass);

但在视野中我使用var_dump($data_to_pass)变量似乎不存在 我在文档中读到可以将额外数据仅传递给具有该功能的部分数据。

3 个答案:

答案 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 );

它对我有用。