我正在运行共享一个核心/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
}
}