如何用不同的CSS和js创建一个PHP标头?

时间:2011-03-19 07:23:06

标签: php html

快速,应该是简单的问题,但我找不到答案!所以我试图创建一个名为header.php的通用标头。现在唯一的问题是有些页面有5个css样式表而有些页面只有2个。有些页面在标题中有5个js链接,而有些页面只有1个。我如何解释标题中css和js链接的这种可变性?我想是否可以使用if statments?变量?谢谢!

4 个答案:

答案 0 :(得分:2)

考虑将资源与单一资源相结合。这将最小化HTTP请求,即good practice

答案 1 :(得分:1)

创建一个动态包含javascript文件的函数,而不是创建静态header.php。例如,您只需要jquery& jquery ui js为page1引用,所以你打电话给

include_js('jquery', 'jquery-ui')

其中include_js是您的函数,它将插入相应的JS文件。

同样,在第2页中,您需要假设您需要jquery& jquery.fancybox

include_js('jquery', 'jquery.fancybox')

答案 2 :(得分:1)

你应该使用这样的设置。当然,您可能希望将其设置为从视图中包含样式而不是控制器。在不知道您的设置的情况下无法给出更好的答案。

在您的控制器中

$styles_for_layout = array();
$scripts_for_layout = array();

//and whenever you need to include a script in for your particular view
$scripts_for_layout[] = 'script_for_page.js';
$styles_for_layout [] = 'style_for_page.css';

headerp.php

  

<?php if(!empty($styles_for_layout))?>
  <?php foreach ($styles_for_layoutas $style) : ?>
     <link rel='stylesheet' href='<?php echo $style ?>'>
  <?php endforeach; ?>
<?php endif; ?>

<?php if(!empty($scripts_for_layout))?>
  <?php foreach ($scripts_for_layout as $script) : ?>
     <script type='text/javascript' src='<?php echo $script ?>'>
  <?php endforeach; ?>
<?php endif; ?>

答案 3 :(得分:0)

在每个页面中加载所有CSS和JS文件并不重要,因为在第一次加载后,它们将被缓存而不会再次检索。

因此,您可以捆绑它们,如果您确实需要当前页面中的特定文件,请不要担心。