Включить файлы js и css только в определенное представление - PullRequest
2 голосов
/ 15 июля 2011

В моем приложении 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 голосов
/ 15 июля 2011

Вы можете написать что-то вроде Zend_Bootstrap и запустить его перед просмотром. Файл начальной загрузки будет отвечать за установку файлов CSS и JS, поэтому ваш заголовок будет просто извлекать их из массива.

Bootstrap:

$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';
}

Конечно, этот пример очень примитивен, но он показывает идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...