【发布时间】:2011-10-06 23:48:40
【问题描述】:
我有一个有趣的问题。我目前有一个基本模板库,它为页眉和页脚模板呈现一堆模块,然后将我指定的视图夹在它们之间。
示例:
$this->load->view('header.php', $headerstuff);
$this->load->view($contentView);
$this->load->view('footer.php', $footerstuff);
问题是我需要将一些javascript(特定于每个内容视图)放入标题中。我一直在使用包含模板库中的 js 的 switch 语句来执行此操作。但这在 mvc 模型中毫无意义。
示例(我一直在做的),(在模板库中,上面的代码):
$headerstuff['js'] = '';
switch ($contentView)
{
case 'main':
$headerstuff['js'] = 'JAVASCRIPT INCLUDE CODE 1';
break;
case 'product':
$headerstuff['js'] = 'JAVASCRIPT INCLUDE CODE 2';
break;
}
不过,我想不出另一种方法来做到这一点。我想(理想情况下)将 js 存储在内容视图文件内的变量中,并(以某种方式)将其加载到标题视图中。不过老实说,我什至不认为这是可能的。
有没有人有比我目前的解决方案更好的方法?
谢谢,
最大
【问题讨论】:
-
为什么不尝试将 JavaScript 加载到控制器中的变量中呢?然后你可以只检查标题视图中的 JS,而不是使用模板库中的开关。
标签: php codeigniter templates scope