I may be running into two conflicting methodologies here.
Basic Drupal theme philosophy is to sub-theme and only change what is different from the sub-theme.
I am using taxonomy hierarchy and theming their views slightly different.
Taxonomy Theme
-------- -----
Zone MyBaseTheme
-Arts ArtsTheme (change the header image)
--Dance ArtsTheme (change the header image)
---Company1 Comp1Theme (change the header image and menu items)
---Comapny2 Comp2Theme
--Theater ArtsTheme
---Thespians1 Thesp1Theme
---Thespians2 Thesp2Theme
-Sports SportsTheme
--Boys SportsTheme
---Football FootballTheme
---Baseball BaseballTheme
--Girls etc
---Field Hockey etc
This would seem to mean the I could subtheme off of zen then only make some minor changes for each. Common stuff such as font size and spacing would be done in MyBaseTheme. Zen seems to use a large font for instance so I want to make it smaller.
I could change the banner images in each sub-theme off of MyBase.
So far so good except...
Zen seem to want to use the SASS methodology for CSS coding.
Copying Starter Kit stuff is getting me whole copies of every CSS attribute for every sub-theme. I don't want copies, I want inheritance. How does this jive with using SASS Compass etc.
At this point I think I need to either repeat my font size change in every theme or give up on SASS and just hack the css files
Anyone ever run into this problem? Thoughts?
Comments
Comment #1
echoz commentedI don't think it's a conflict.
Where you want inheritance, do not copy the same named scss (or css) file. Your subtheme, or sub-subtheme could have one or more uniquely named scss (or css) file(s). You probably know that a same named file in the theme, or just listed in the .info file, will override the same named file in the parent theme, so you don't even want to list style.css in the child theme's .info file if you want to inherit all from the parent theme.
Then with your unique named overriding stylesheets, you can use sass or not.
Hope that made sense! Experiment and write back if needed.
Comment #2
caschbre commentedWe accomplished the following...
Zen
-- Structure Base
---- Style 1
---- Style 2
---- Style 3
The structure theme was pretty straight forward, however for the style themes we wanted to use the .scss files from the structure theme. So in the [style theme]/scss folder, we modified all of the scss files to include the scss files from the structure.
So for example [style theme]/scss/_base.scss looked like
This allowed our structure theme to be another base theme that inherited from Zen... and our style themes inherited from our structure theme.
Comment #3
impleri commentedCouldn't you use the :load_paths variable in config.rb to include each sub-theme's parent so that @import base would automatically load [parent_theme_sass_path]/_base.scss?
I would think using Context and Delta accomplishes the same functionality without creating numerous sub-subthemes.
Comment #4
samhassell commentedWhile not quite related to the OP, the downside of @echoz 's approach is that you generally want to be able to override the sass, not the css. That way you can have a site-wide variable for color, say 'red', and in the subtheme quickly change that to 'blue'.
It's a tricky little issue.
Comment #5
johnalbinSMACSS-based "theme" or "skin" styling is a variant of the default components. The default component styling would go in the base theme. The sub-theme would get the skin variant. If the sub-theme needs access to parts of the sass from the base theme, use the :load_paths variable in config.rb
Comment #6.0
(not verified) commentedtrying to fix formatting