6

I am trying to get the Sass fallbacks to work with Magento 1.9. I have created my own theme as skin/frontend/rwd/mytheme.

I have followed the instructions here: http://www.magentocommerce.com/knowledge-base/entry/ee114-ce19-rwd-dev-guide#sass-fallback-structure by using the following code in the rwd/default/scss/config.rb file:

add_import_path "../../../rwd/default/scss"

To find the original Sass files. I have deleted all except layout/_footer.scss from my theme. When I try to compile with CodeKit I get this error:

enter image description here

Clearly it's not finding the fallbacks. I have also tried putting the add_import_path code into my theme's config.rb file and the root config.rb file but nothing seems to work. Does anybody have any ideas?

8

In step 2 of the "Sass Fallback Structure", it indicates specific directories that you are allowed to delete. However there are some files that you MUST have in your custompackage/customtheme/scss directory, and those are:

var.scss core.scss styles-ie8.scss styles.scss scaffold-forms.scss custom_core.scss framework.scss

If you have those files in your scss directory, you should be able to compile the Sass files using Codekit.

I don't have Codekit, but here is proof via the command line that this will work, if you set things up correctly:

enter image description here

  • Talk about straight from the Llama's mouth. – philwinkle May 16 '14 at 23:02
  • You are right - it seems the problem is with my Codekit/Sass/Compass versions all conflicting with each other. – Adam Moss May 18 '14 at 20:50
2

The path to the Ruby configuration file given in the tutorial seems odd to me.

Shouldn't we put this add_import_path at the custom theme level? i.e.

skin/frontend/custompackage/customtheme/scss/config.rb

Instead of

skin/frontend/rwd/default/config.rb

(Which does not even exist as it's in the scss subfolder)

One other thing: by following the instruction Step 2: Copying Files For Your Theme we are also copying the config.rb. Shouldn't the http_path be updated as well?

Edit: one example of config.rb in development environment

# note: this should never truly be refernced since we are using relative assets  
add_import_path "../../../rwd/default/scss"  
http_path = "/skin/frontend/custompackage/customtheme"  
css_dir = "../css"  
sass_dir = "../scss"  
images_dir = "../images"  
javascripts_dir = "../js"  
relative_assets = true  

output_style = :expanded  
environment = :development  

Note: this works for me on different projects but my customtheme is always "default", i.e. custompackage/default (I see no reason why I souldn't work with any other name)

  • I'm with you on this. But I think the import path does not change and should be added to the custom directory while http_path should change to the custom directory – tPlummer Nov 24 '14 at 20:38
  • I just tested this. What I did was add a config.rb file to a theme in the RWD package, changed the http_path from "default" to my theme name, then added the add_import_path to this custom config file. It works great with my compass watch. I would assume, somewhere, I will need to tell the system to watch this scss directory along with the RWD, but I'm not there yet. – tPlummer Nov 24 '14 at 21:11
  • @tPlummer Nice to have you on my side. :) My questions were rhetorical of course. Edited my answer with one config.rg of mine, hopefully it might help someone. – glouton Nov 26 '14 at 12:25
  • "Nothing goes over my head. My reflexes are too fast. I would catch it." You wouldn't happen to know where Magento/RWD keeps the Compass compiler script by chance? Anything in RWD auto compiled, which is neat, but I want my custom overrides to join the party. – tPlummer Nov 27 '14 at 13:15
  • "I am Groot". Sorry but not sure what you mean. Doesn't the Documentation say enough on this point? – glouton Nov 28 '14 at 16:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.