仅在特定视图中包含js和css文件

时间:2011-07-15 06:37:54

标签: php codeigniter templates php-include

在我的CodeIgniter应用程序中有一个共同的页眉和页脚视图,我将其包含在不同的视图中。我的header_view就像:

一样简单
<!DOCTYPE html>

<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title><?php echo $page_title;?></title>
    <link rel="stylesheet" href="<?php echo base_url();?>/css/master.css" type="text/css" media="screen" />
    <script src="<?php echo base_url();?>js/common.js" type="text/javascript"></script> 
</head>
<body>
<!-- end of header -->

现在假设我有另一个名为form_view的视图,其中我想要包含CSS文件form.css和javascript文件form.js。由于这些文件仅用于form_view,我不想在header_view中添加它们,因为它们将包含在我的应用程序的所有视图中。

所以我的问题仍然是,当使用上面的公共标题时,如何在特定视图中包含特定的css或特定的javascript文件。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以编写类似Zend_Bootstrap的内容并在视图之前运行它。引导程序文件将负责设置css和js文件,因此您的标头只会从数组中获取它们。

自举:

$head_array = array(
   'css' => array(
         '/static/css/style.css', 
         '/static/css/style1.css' 
      ),
   'js' => array(
         '/static/js/script.js'
      )
)

if($view == 'view_form') {
    $head_array['css'][] = '/static/css/form.css';
}

当然这个例子非常原始,但它显示了这个想法。