Silverstripe 组合css文件
我正在使用Silverstripe 3.0 我尝试将所有css文件合并到一个文件中:Silverstripe 组合css文件,silverstripe,Silverstripe,我正在使用Silverstripe 3.0 我尝试将所有css文件合并到一个文件中: $themeFolder = 'themes/' . SSViewer::current_theme() . ''; $cssFiles = array( $themeFolder . '/css/reset.css', $themeFolder . '/css/typography.css', $themeFolder . '/css/jquery.fancybox.css',
$themeFolder = 'themes/' . SSViewer::current_theme() . '';
$cssFiles = array(
$themeFolder . '/css/reset.css',
$themeFolder . '/css/typography.css',
$themeFolder . '/css/jquery.fancybox.css',
$themeFolder . '/css/form.css'
);
array_walk($cssFiles,'Requirements::css');
Requirements::combine_files($themePath . 'css/core.css',$cssFiles);
Requirements::set_combined_files_folder('.');
Requirements::process_combined_files();
不幸的是,我没有一个文件core.css来组合其他文件,而是有4个css文件。似乎silverstripe没有权限写我的css文件
知道出了什么问题吗?谢谢你(尽管这在评论中得到了回答,但还是添加了一个真实的答案,这样这个问题就不会出现在未回答的列表中)
@ajshort很清楚为什么会发生这种情况:
您是否处于开发模式?如果是这样,SilverStripe将不合并文件以便于开发 技术说明 在为
需求
类执行繁重工作的需求
后端类中,在处理组合文件的过程中,有一行代码(and)影响它是否将组合
直接取自API文档:
if((Director::isDev() && !$runningTest && !isset($_REQUEST['combine'])) || !$this->combined_files_enabled) {
return;
}
基本上,如果您处于开发模式且SaphireTest
未运行且则不存在名为“combine”的GET或POST变量集
这意味着,如果您包含一个名为“combine”的查询参数(
?combine=false
),则当您处于开发模式时,它仍将合并文件。是否处于开发模式?如果是这样,SilverStripe将不会合并文件以便于开发。是的,这就是问题所在!感谢you@ajshort我是否可以建议将此作为答案发布,并让Steve将其作为正确答案接受,以将此问题标记为已解决?