-1

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

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

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

4

3 回答 3

0

如果有人遇到问题,将任何$_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'],错误的);

这个对我有用。

于 2013-03-14T15:41:31.947 回答
0

您的变量 _data_to_pass 是一个数组。您将此数组的内容传递给视图而不是数组。所以视图中只存在这个数组的内容。

于 2012-10-13T09:27:39.247 回答
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);

于 2012-10-13T18:53:17.413 回答