yii怎么引用assets?

yii引用assets的方法:首先將需要用到的資源放在【modules/admin/assets】下;然后將私有資源publish到公共目錄下;接著在網(wǎng)站目錄的【/assets】下創(chuàng)建一個(gè)隨機(jī)不沖突的文件夾;最后復(fù)制文件即可。

yii怎么引用assets?

yii引用assets的方法:

為什么用YII assets

1.assets的作用是方便模塊化,插件化的,一般來說出于安全原因不允許通過url訪問protected下面的文件 ,但是我們又希望將module單獨(dú)出來,所以需要使用發(fā)布,即將一個(gè)目錄下的文件復(fù)制一份到assets下面方便通過url訪問

$assets?=?Yii::getPathOfAlias('ext').'/css';? //$baseUrl?=?Yii::app()->getAssetManager()->publish($assets);? $baseUrl?=?Yii::app()->assetManager->publish($assets);??//extensions/css發(fā)布到assets的創(chuàng)建一個(gè)隨機(jī)不沖突的文件夾下? Yii::app()->clientScript->registerCssFile($baseUrl.'/main.css');//引用assets下面的main.css

?

2.如果一個(gè)模塊需要添加使用資源,直接從webroot中引用添加即可。

但是試圖創(chuàng)建一個(gè)模塊能夠在任何地方引用,且資源獨(dú)立并能夠避免命名沖突 。

你如何保證你的文件名不會(huì)與一些零散的應(yīng)用程序的嘗試使用相同名稱的文件沖突,對(duì)于js,images,css也一樣。

通過CAssetManager,Yii::app()->assetManager能夠自動(dòng)的將私有資源publish到公共目錄下webroot/assets

?相關(guān)學(xué)習(xí)推薦:yii教程

下面以admin module為例

1、把需要用到的資源放在modules/admin/assets下。

2、然后通過 CAssetManager,Yii::app()->assetManager能夠自動(dòng)的將私有資源publish到公共目錄下,網(wǎng)站目錄/assets

3、Yii會(huì)自動(dòng)在網(wǎng)站目錄的/assets下創(chuàng)建一個(gè)隨機(jī)不沖突的文件夾,如2b31b42b,并把你的modules/admin/assets目錄下的文件拷貝過去。

通過如下代碼獲得,修改protectedmodulesadminAdminModule.php文件,

<?php   class AdminModule extends CWebModule  {      private $_assetsUrl;          public function getAssetsUrl()      {          if($this->_assetsUrl===null)? ????????????$this-&gt;_assetsUrl=Yii::app()-&gt;getAssetManager()-&gt;publish(Yii::getPathOfAlias('application.modules.admin.assets'));? ????????return?$this-&gt;_assetsUrl;? ????}? ??? ????public?function?setAssetsUrl($value)? ????{? ????????$this-&gt;_assetsUrl=$value;? ????}? }

然后,在/protected/modules/admin/views/layouts/main.php中 使用$this->module->assetsUrl就可以調(diào)用你的css等文件了。

<link>module-&gt;assetsUrl;??&gt;/css/screen.css"/&gt;

使用前強(qiáng)制更新asset

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

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享
站長(zhǎng)的頭像-小浪學(xué)習(xí)網(wǎng)月度會(huì)員