2017-05-11 4 views
0

:拡張子で

namespace myExtension/assets; 

class ResourcesAsset extends AssetBundle { 
    public $sourcePath = '@app/assets/resources'; 
    public $css  = ['resources.css']; 
    public $js   = ['resources.js']; 
    public $depends = ['yii\bootstrap\BootstrapPluginAsset']; 
} 

構造:私は拡張機能をインストールするとき

my-extension 
|-assets 
| |-resources 
| |-resources.css 
| |-resources.js 
| ResourceAsset.php 
|-controllers 
|-models 
|-views 
|-Module.php 

これは動作していないようです別のプロジェクトでは$sourcePathのためです。別名@appは、アプリケーションのベースパスを指し、ベンダーの拡張子のルートフォルダーは指しません。

現在、私は@myExtension/assets/resourcesを使用しています。これは、インストール時にextionsions.phpでそのエイリアスが取得されることがわかっているように機能します。しかし、私はこれが最適ではないと思う。だから、$sourcePathを宣言する最適な方法は何ですか?私は独自のエイリアス(Module.php?)を作成する必要がありますか? __DIR__を使用する必要がありますか?

答えて

1

あなたが使用しているエイリアス(@myExtension)は行く方法です。 Guideから

拡張がアプリケーションにインストールされると、Yiiの各リストされたルート名前空間の名前空間に対応するディレクトリを指す別名を作成します。

また、あなたはそうのようなものvendorフォルダのエイリアスを使用することができます。

public $sourcePath = '@vendor/my-extension/assets/resources'; 
+0

がそれですか?私はエクササイズが足りない。 '@ this'のようなものが欠けています... – robsch

関連する問題

 関連する問題