sxtuwy 2012-03-02 16:13:50 3101次浏览 3条回复 0 0 0

如何取得已publish文件的路径?不想每次都发布一次,如何在assets中取得要取得文件的地址。

  • 回复于 2012-03-02 21:01 举报

    经研究发现

    $sourceFolder=YiiBase::getPathOfAlias('webroot.myfiles');
    $publishedFolder = Yii::app()->assetManager->publish($sourceFolder,false,-1,true);
    echo Yii::app()->assetManager->getPublishedPath($sourceFolder);
    

    用以上代码的最后一行能获取到发布地址,不过这个地址与发布文件内容修改没有关系,和里面文件的增加与减少有关系。

  • 回复于 2014-10-09 17:12 举报

    举个例子,我要在assets文件夹中手动加载jquery-ui.css代码这样写

    <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->getClientScript()->getCoreScriptUrl(); ?>/jui/css/base/jquery-ui.css"/> 
    

    代码灵感来自源代码(framework/zii/widgets/jui/CJuiWidget.php92行)

    protected function resolvePackagePath()
    {
        if($this->scriptUrl===null || $this->themeUrl===null)
        {
            $cs=Yii::app()->getClientScript();
            if($this->scriptUrl===null)
                $this->scriptUrl=$cs->getCoreScriptUrl().'/jui/js';
            if($this->themeUrl===null)
                $this->themeUrl=$cs->getCoreScriptUrl().'/jui/css';
        }
    }
    
您需要登录后才可以回复。登录 | 立即注册