ホームページ  >  記事  >  PHPフレームワーク  >  Yii でアセットを参照するにはどうすればよいですか?

Yii でアセットを参照するにはどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-16 10:22:332836ブラウズ

Yii アセットを引用する方法: まず、使用する必要があるリソースを [modules/admin/assets] の下に置き、次にプライベート リソースをパブリック ディレクトリに公開し、次にそれらを Web サイトの [/assets] の下に置きます。 directory ランダムで競合しないフォルダーを作成し、ファイルをコピーします。

Yii でアセットを参照するにはどうすればよいですか?

#Yii リファレンス アセット メソッド:

YII アセットを使用する理由 #1.アセットの役割は、モジュール化とプラグインを容易にすることです。一般的に、セキュリティ上の理由から、URL を介して保護されたファイルにアクセスすることは許可されていませんが、モジュールを分離したいので、パブリッシングを使用する必要があります。つまり、ディレクトリです。URL

$assets = Yii::getPathOfAlias('ext').'/css'; 
//$baseUrl = Yii::app()->getAssetManager()->publish($assets); 
$baseUrl = Yii::app()->assetManager->publish($assets);  //extensions/css发布到assets的创建一个随机不冲突的文件夹下 
Yii::app()->clientScript->registerCssFile($baseUrl.'/main.css');//引用assets下面的main.css

2 を通じて簡単にアクセスできるように、以下のファイルをアセットにコピーします。モジュールでリソースを追加する必要がある場合は、Webroot から直接リソースを参照して追加するだけです。

ただし、どこでも参照でき、独立したリソースを持ち、名前の競合を回避できるモジュールを作成するようにしてください。

同じ名前のファイル (js、画像、css についても同様) を使用しようとしている散在するアプリケーションとファイル名が競合しないようにするにはどうすればよいですか。

CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ webroot/assets に自動的に公開できます

関連学習の推奨事項:
yii チュートリアル

以下では例として admin モジュールを取り上げます

1. 必要なリソースを

modules/admin/assets# # に配置します#下。

2. その後、CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ、ウェブサイト ディレクトリ/アセットに自動的に公開できます

3. Yii は自動的にランダムなリソースを作成しますWeb サイト ディレクトリの

/assets

にある競合しないフォルダー (2b31b42b など) を選択し、ファイルを

modules/admin/assets ディレクトリにコピーします。 次のコードで取得した protected\modules\admin\AdminModule.php

ファイルを変更します。

<?php 
class AdminModule extends CWebModule 
{ 
    private $_assetsUrl; 
   
    public function getAssetsUrl() 
    { 
        if($this->_assetsUrl===null) 
            $this->_assetsUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias(&#39;application.modules.admin.assets&#39;)); 
        return $this->_assetsUrl; 
    } 
   
    public function setAssetsUrl($value) 
    { 
        $this->_assetsUrl=$value; 
    } 
}
次に、/protected/modules/admin/views/ にあります。 layouts/ main.php の $this->module->assetsUrl を使用して、CSS およびその他のファイルを呼び出します。
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css"/>

使用前にアセットを強制更新

 $baseJsUrl = Yii::app()->getAssetManager()->publish($baseJsPath, false, -1, YII_DEBUG);

以上がYii でアセットを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。