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

echoz’s picture

I 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.

caschbre’s picture

We 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

@include ../../structure-theme/scss/_base.scss

<any overrides go here>

This allowed our structure theme to be another base theme that inherited from Zen... and our style themes inherited from our structure theme.

impleri’s picture

Couldn'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.

samhassell’s picture

While 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.

johnalbin’s picture

Status: Active » Fixed

SMACSS-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

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

trying to fix formatting