在ZF2中,我只尝试加载CSS和JS文件一次。
但是当我渲染页面时,它们会加载两次或三次,导致网站速度极慢。
在实际页面中我有bootstrap.css 2次,style.css 2次,JS文件也有2,3次。
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<?= $this->headTitle(); ?>
<?= $this->headMeta(); ?>
<!-- CSS -->
<?= $this->headLink()->prependStylesheet('/v2/css/bootstrap.css'); ?>
<?= $this->headLink()->prependStylesheet('/v2/css/style.css'); ?>
<!-- JS -->
<?= $this->headScript()->prependFile('/v2/js/jquery-3.1.0.min.js') ?>
<?= $this->headScript()->prependFile('/v2/js/global.js') ?>
</head>
答案 0 :(得分:1)
你正在呼应每条线上的物体;删除所有<?=
,只需一次调用echo即可替换。
<head>
<meta charset="utf-8" />
<?= $this->headTitle(); ?>
<?= $this->headMeta(); ?>
<!-- CSS -->
<?php
$headLink = $this-headLink();
$headScript = $this->headScript();
$headLink->prependStylesheet('/v2/css/bootstrap.css');
$headLink->prependStylesheet('/v2/css/style.css');
$headScript->prependFile('/v2/js/jquery-3.1.0.min.js');
$headScript->prependFile('/v2/js/global.js');
echo $headLink;
echo $headScript;
?>
</head>
答案 1 :(得分:1)
最简单的方法是链,如下所示:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<?= $this->headTitle(); ?>
<?= $this->headMeta(); ?>
<!-- CSS -->
<?= $this->headLink()->prependStylesheet('/v2/css/bootstrap.css')
->prependStylesheet('/v2/css/style.css'); ?>
<!-- JS -->
<?= $this->headScript()->prependFile('/v2/js/jquery-3.1.0.min.js')
->prependFile('/v2/js/global.js'); ?>
</head>
这是在ZendSkeleton layout中完成的方式。