2016-09-15 4 views
0

ZF2では、CSSとJSファイルを1回だけ読み込もうとしています。Zend framework - CSSとJSを重複せずにヘッダに一度だけ追加するには?

しかし、ページをレンダリングすると、2〜3回読み込まれてサイトが極端に遅くなります。

実際のページでは、私は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> 

答えて

1

各行にオブジェクトをエコーし​​ています。すべて<?=を削除し、echoを1回呼び出すだけで置き換えてください。

<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> 
+0

現在作業中です。ありがとう。 – YumYumYum

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、例えば行わ方法です。

関連する問題