Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

[solved] 'combine_files' and 'set_combine_files_folder'


Reply


2 Posts   488 Views

Avatar
prawnstar

Community Member, 127 Posts

8 December 2011 at 10:34am

Edited: 08/12/2011 10:40am

I'm trying to combine my css files to reduce http requests. Using the tutorial on [url=http://www.ssbits.com/snippets/2010/dynamically-combining-css-and-javascript-files-for-faster-loading-using-requirements/]SSBits[/url] and the SilverStripe doc page [url=http://doc.silverstripe.org/sapphire/en/reference/requirements]here[/url], it doesn't appear that the files are actually being combined. I'm using SS v 2.4.5.

I have done:
http://www.mysite.com/?flush=1
As well as, manually creating the /themes/mysite/combinedfiles folder and set the permissions of the combinedfiles folder to 777.

When I view-source I see:

<link rel="stylesheet" type="text/css" href="http://www.mysite.com/themes/mytheme/css/typography.css?m=1308638710" />
<link rel="stylesheet" type="text/css" href="http://www.mysite.com/themes/mytheme/css/layout.css?m=1323291670" />
<link rel="stylesheet" type="text/css" href="http://www.mysite.com/themes/mytheme/css/form.css?m=1308638711" />
<link rel="stylesheet" type="text/css" href="http://www.mysite.com/sapphire/css/SilverStripeNavigator.css?m=1308636999" />

Can anyone see what it is that I'm doing wrong?

_config.php

SSViewer::set_theme('mytheme');

Page.php

class Page_Controller extends ContentController {
   public function init() {
      parent::init();

   //set css folder
      $themeFolder = $this->ThemeDir();
   //set the folder to our theme so that relative image paths work
      Requirements::set_combined_files_folder($themeFolder . '/combinedfiles');
   //combine css to array
      $CSSFiles = array(
         $themeFolder . '/css/typography.css',
         $themeFolder . '/css/layout.css',
         $themeFolder . '/css/form.css'
      );
   //require combined css
      Requirements::combine_files("combinedCSS.css", $CSSFiles);
   }
}

Avatar
prawnstar

Community Member, 127 Posts

8 December 2011 at 1:56pm

I didn't notice this earlier, but because of issues with UserForms I had set "Requirements::set_combined_files_enabled(false);" in my _config.php file. Grrr!