アセットフォルダーには通常、いくつかのスタイルファイル (css)、スクリプトファイル (js)、画像ファイル (image) などがフロントエンドとバックエンドに保存されているため、Yii::app() で使用できます。 ->request ->baseUrl を併用します (プロジェクト名を取得するため)。
アセットの役割は、モジュール化とプラグインを容易にすることです。通常、セキュリティ上の理由から、URL を介して保護されたファイルにアクセスすることは許可されていませんが、モジュールを分離したい場合は、パブリッシュを使用する必要があります。つまり、URL 経由で簡単にアクセスできるように、ディレクトリ内のファイルをアセットにコピーします (推奨学習: yii チュートリアル )
$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
If モジュール リソースを追加する必要がある場合は、Webroot から直接追加できます。
ただし、どこでも参照でき、独立したリソースを持ち、名前の競合を回避できるモジュールを作成するようにしてください。
同じ名前のファイル (js、画像、css についても同様) を使用しようとしている散在するアプリケーションとファイル名が競合しないようにするにはどうすればよいですか。
CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ webroot/assets に自動的に公開できます
以下は例として admin モジュールを取り上げます
1. 必要なリソースを module/admin/assets の下に配置します。
2. その後、CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ Web サイトのディレクトリ/assets に自動的に公開できます
3. Yii は自動的にランダムなリソースを作成します/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('application.modules.admin.assets')); return $this->_assetsUrl; } public function setAssetsUrl($value) { $this->_assetsUrl=$value; } }
次に、/protected/modules/admin/views/layouts/main で $ を使用します。 php this->module->assetsUrl は CSS やその他のファイルを呼び出すことができます。
以上がyii 資産とは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。