CakePHP 3.4中IMG和CSS的多个路径



我正在运行共享一个核心/baseapp的多个蛋糕应用。

基本结构是:www/myapp1www/myapp2www/myapp3www/baseapp

在每个" myApp" app.php中,我将模板和插件的路径指向myApp和baseapp,以便使用MyApp中的文件,请使用BaseApp的一个:

'App' => [
        'imageBaseUrl' => 'img/',
        'cssBaseUrl' => 'css/',
        'jsBaseUrl' => 'js/',
        'paths' => [
            'plugins' => [ROOT.DS .'modules'.DS, BASEROOT . DS . 'modules' . DS],
            'templates' => [APP . 'Template' . DS, BASEROOT.'/src/Template'.DS ],
        ],
    ],

(我在Composer中包括Baseapp的类,这可能与此问题无关)

效果很好。

问题:如何以相同的方式将其包括IMG,CSS和JS?我想到蛋糕应该在每个应用程序中搜索文件的文件夹。

'App' => [ 'imageBaseUrl' => ['img/', BASEROOT. DS . 'webroot/img/'] 

不起作用。

我的解决方案:在文件夹Webroot中,我链接到了Baseroot(带有名称'Baseroot'),然后我制作了文件src/view/urlhelper

class UrlHelper extends CakeUrlHelper{
    public function webroot($file){
        //code
        if (file_exists(CakeCoreConfigure::read('App.wwwRoot') . $file)) {       
            $webPath = $this->request->getAttribute('webroot') . $asset[0];
        }else{
           $webPath = $this->request->getAttribute('webroot').'baseroot'.DS.$asset[0];
        }
        //more code
    }
}   

最新更新