2016-12-28 6 views
2

を使用してCSS/JSを登録することができません。次のように私はtestasset.phpを作成していた資産/ registerCss機能

ビュー:

<?php 

use app\assets\TestAsset; 
TestAsset::register($this); 
$this->beginPage(); ?> 

<html> 
    <head> 
    <title>Register JS and CSS</title> <?php 
    //Yii::$app->view->registerCssFile('/css/style.css');?> 
    <!-- <link rel="stylesheet" href="/css/test.css" type="text/css" /> --> 
    </head> 
    <body> 
    <div id="page"> 
     <div id="logo"> 
     <h1><a href="/" id="logoLink">Register JS and CSS Test</a></h1> 
     </div> 
     <div id="nav"> 
     <ul> 
      <li><a href="#">!</a></li> 
      <li><a href="#">@</a></li> 
      <li><a href="#">#</a></li> 
     </ul> 
     </div> 
     <div id="content"> 
     <h2>Test</h2> 
     <p> XYZ...!!! </p> 
     <p> ABC...!!! </p> 
     </div> 
     <div id="footer"> 
     <p> Webpage made by <a href="/" target="_blank">XYZ</a> </p> 
     </div> 
    </div> 
    </body> 
</html> 

しかし、私のtest.cssファイルが登録取得されていません。 私はbasepathとbaseurlとregisterCss Yii2関数を使ってみましたが、成功しませんでした。

誰でも私のコードでどこが不足しているかをお勧めします。

+0

ビューファイルは、一般に、レイアウトファイルを通してレンダリングされるとき、 ''、 ''、 ''タグを持っていません。レイアウトを使用していませんか? – sm1979

+0

私のメインプロジェクトでレイアウトファイルを使用しています。私が共有した単なるテストコードは、別のレイアウトファイルを持っていません。 – user3350093

+0

レイアウトを使用していない場合は、以下の@ Bizleyの答えに示されているように、ヘッダーアセットファイルを明示的にレンダリングしてみることができます。 – sm1979

答えて

1

あなたは、レンダリングされるheaderアセットファイルのために好ましくはどこか<head></head>

<?php $this->head() ?> 

を追加する必要があります。

+0

申し訳ありませんが、これはうまくいきません。bodyタグの$ this-> beginBody()とendBodyを追加しても機能しません。 – user3350093

+0

このページのレンダリングされたソースコードを追加できますか?最初から ''タグまでです。 – Bizley

+0

登録JSとCSS<<[CDATA [YII-BLOCK-HEAD]]!> - <!リンクのrel = "スタイルシート" のhref = "/ CSS/test.css" タイプ= "テキスト/ css "/> - > – user3350093

1

だけで私は、高度なアプリケーションテンプレートプロジェクトの一つに同じ問題を持っていた

<?php 
    $this->registerCssFile('PATH_TO_FILE'); 
?> 
+0

ありがとうございます。私のビューの下にエンドページを追加しています。 – user3350093

0

ビューファイルでこれを追加します。 Yii2 advanced application templateのレイアウト/ main.phpファイルと同じファイルを比較し、ファイルの最後に$this->endPage()が見つからないことがわかりました。 間違いなく削除されましたが、それがなければ、資産は機能しました。

関連する問題