Silverstripe 组合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',

我正在使用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 . '/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将其作为正确答案接受,以将此问题标记为已解决?