类别:YII / 日期:2019-12-24 / 浏览:271 / 评论:0

yii中assets是什么文件夹?

assets平常是寄存前台与背景的一些款式文件(css)、剧本文件(js)、图片文件(images)等内容的文件夹,所以可以合营Yii::app()->request->baseUrl举行合营运用(猎取项目称号)。

assets的作用是轻易模块化,插件化的,平常来说出于平安缘由不允许经由过程url接见protected下面的文件 ,然则我们又愿望将module零丁出来,所以须要运用宣布,行将一个目次下的文件复制一份到assets下面轻易经由过程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

假如一个模块须要增加运用资本,直接从webroot中援用增加即可。

然则试图建立一个模块可以在任何地方援用,且资本自力并可以防止定名争执 。

你怎样保证你的文件名不会与一些零星的应用程序的尝试运用雷同称号的文件争执,关于js,images,css也一样。

经由过程CAssetManager,Yii::app()->assetManager可以自动的将私有资本publish到大众目次下webroot/assets

下面以admin module为例

1、把须要用到的资本放在modules/admin/assets下。

2、然后经由过程 CAssetManager,Yii::app()->assetManager可以自动的将私有资本publish到大众目次下 网站目次/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教程

以上就是yii中assets是什么文件夹?的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章