快速,应该是简单的问题,但我找不到答案!所以我试图创建一个名为header.php的通用标头。现在唯一的问题是有些页面有5个css样式表而有些页面只有2个。有些页面在标题中有5个js链接,而有些页面只有1个。我如何解释标题中css和js链接的这种可变性?我想是否可以使用if statments?变量?谢谢!
答案 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文件并不重要,因为在第一次加载后,它们将被缓存而不会再次检索。
因此,您可以捆绑它们,如果您确实需要当前页面中的特定文件,请不要担心。