我使用CI已经快一年了,我几乎可以解决我遇到的任何问题。
但现在我遇到了一堵墙,它看起来像是视图的参数缓存。
示例
控制器方法:
public function cache_test()
{
$data['dummy'] = "foobar";
$this->load->view('cache_view', $data); // should output "foobar"
unset($data['dummy']);
$this->load->view('cache_view', $data); // should output nothing
}查看:
<? if(isset($dummy)): ?>
<?= $dummy ?>
<? endif; ?>结果:
foobar foobar我发现了一个解决方法,您必须将变量设置为空字符串
$data['dummy'] = ""然后将if更改为
if(isset($dummy) && $dummy != "")但这对我来说似乎不是很干净,像这样的东西让我感到困扰:/
任何正确方向的帮助或指示都是非常感谢的。
EDIT:我想用它来加载菜单的几个项目,其中一些视图参数是可选的。然后,这些可选参数决定是否在视图中显示某些内容。
发布于 2015-02-12 19:01:59
你可以尝试下面的代码,也许它会解决你的问题
public function cache_test()
{
$data['dummy'] = "foobar";
$this->load->view('cache_view', $data); // should output "foobar"
unset($data);
$this->load->view('cache_view', $data); // should output nothing
}https://stackoverflow.com/questions/28475602
复制相似问题