Navin is just about perfect for my needs. Like so many other have said, thanks to all of you.

My question is whether to make tweaks as necessary in the Navin theme or whether to sub-theme Navin and to make changes in my sub-theme. Or I guess I could try to just "clone" Navin. I tried to sub-theme Navin using "base theme = 'navin'" and wound up with no CSS styling at all. Before I dig too deep in how to make it work, I'm just asking for your best practice on how to go forward with my implementation and tweaking of Navin.

Thanks!

Files: 
CommentFileSizeAuthor
#7 testtheme1.info17.41 KBgraber

Comments

markcarver’s picture

Status: Active » Fixed

Yes, it's possible to sub-theme Navin and highly recommended. You never want to fork a module or theme unless you plan to never update again. Your custom changes can easily be removed if you or someone else updates the site.

Because Navin is already a sub-theme of Omega, your sub-sub-theme will be Omega in nature as well. You will need to include the Navin CSS files in your sub-sub-theme's omega settings, located in the .info file.

; Enable Navin's CSS files in this theme.
settings[alpha_css][navin-base.css] = 'navin-base.css'
settings[alpha_css][navin-font.css] = 'navin-font.css'
settings[alpha_css][navin-form.css] = 'navin-form.css'
settings[alpha_css][navin-branding.css] = 'navin-branding.css'
settings[alpha_css][navin-menu.css] = 'navin-menu.css'
settings[alpha_css][navin-header.css] = 'navin-header.css'
settings[alpha_css][navin-preface.css] = 'navin-preface.css'
settings[alpha_css][navin-content.css] = 'navin-content.css'
settings[alpha_css][navin-postfix.css] = 'navin-postfix.css'
settings[alpha_css][navin-footer.css] = 'navin-footer.css'

Status: Fixed » Closed (fixed)

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

Vacilando’s picture

Wow; surely the best Omega 7.x 3.x. subtheme!

Could you please post a complete list of steps to do to properly subtheme Navin?

radimklaska’s picture

Take a look at http://drupal.org/node/1298672 Omega tools will create subtheme for you. Then do #1

graber’s picture

I tried creating a sub-theme on a clean install as well and ran into an issue. Used Omega Tools to create a sub-theme of Navin, copied the code from #1 into the new sub-theme info file.
The issue is that the rotating banner no longer fills the header. It's in the header first block, with nothing in the header second block, but it only fills up half the header, just as if something were in header second. When I switch the theme back to Navin it fills the whole header.

markcarver’s picture

#4 is *partially* wrong. The correct steps should be:

  1. Create a sub-theme using Omega Tools (it only creates one based off of Omega, it would never be based off of Navin)
  2. Copy most of Navin's .info file over. Specifically all the zones, regions and settings (NOT the CSS)
  3. Then follow #1
graber’s picture

FileSize
17.41 KB

Okay, still having issues. I've followed the steps in #6. If I leave it at that, then none of the css from the Navin theme loads, but the rotating banner is fine. If I edit my sub-theme .info file from
base theme = 'omega'
to instead say
base theme = 'navin'
Then the Navin css shows up, but the rotating banner is messed up again.

Attached is the sub-theme info file. Theme is called "testtheme1"

markcarver’s picture

You can't upload .info files. Please just paste it in code.

graber’s picture

Okay, tried a second time and it seems to be working fine now.

markcarver’s picture

PS, anytime you change your .info file you should also be clearing the cache. Also keep in mind that if you alter an Omega theme through the Appearance UI, it will create a "theme_AAAAA_settings" variable on submit that will override any .info settings. Make ensure that this variable is non-existant, then clear the cache.

radimklaska’s picture

Thanks for correction in #6. Just one additional question, you say

it only creates one based off of Omega, it would never be based off of Navin

On /admin/appearance/omega-tools/add in base theme selection, there actually is Navin as an option and base theme = 'navin' is in the resulting theme. What is the problem with this approach? (I'm fairly new to omega, so I can easily miss something and I really want to know what it is ;-) )

hirbys’s picture

Just a note to confirm that I've successfully sub-themed Navin using the method outlined in #4, remembering to link in the css files as noted in #1. As radimklaska notes in #11, I was able to sub-theme Navin directly from Omega Tools, without having to sub-theme Omega first. Thus #6 is *partially* wrong, at least for Omega Tools 7.x-3.0-rc4, in that the .info file generated will, after the addition of code from #1, be exactly what you need (in my experience).

lsabug’s picture

This may have been obvious - not - but after following the steps to create the subtheme info file you then need to enable Navin stylesheets here: admin/appearance/settings/ovin which is what I kept missing. Now my subtheme is displaying the Navin css - whew!

chrisshattuck’s picture

Hey guys (wave to Mark),

I just had to do this, and also had to set the name of the "base theme" to "navin". So in summary, I:

  1. Downloaded Omega Tools
  2. Created a subtheme using "drush omega-subtheme nameofmythemehere" on the command line (though the manual instructions here would have worked using the HTML5 version, I believe)
  3. Copied the code from /themes/navin/navin.info (everything below the "settings[alpha_css][navin-footer.css] = 'navin-footer.css'" line) and pasted into nameofmythemehere.info
  4. Copied the code from comment 1 and pasted it in above what I just added to nameofmythemehere.info
  5. Changed the name of the subtheme from 'omega' to 'navin'
  6. Enabled the new subtheme in Appearance
  7. I also had to clear my caches for this to take because I had done some messing around in the .info file.

Thanks for your great work, Mark, looking good!

Cheers,
Chris

markcarver’s picture

Hey Chris! (Waves back)

Read your blog this morning on OE, pretty awesome stuff. Glad you're enjoying Navin so far, let me know if you run into any issues.

m

Kristen Pol’s picture

Hi Chris & Mark (& anyone who's listening ;)

I followed the instructions in #14 (thanks!).

I'm new to Omega and am unclear as to the correct procedure for adding my own CSS. Using the steps from #14, then the navin CSS files get included *after* the global CSS file that is in the sub-sub-theme (called ddnavin in my case), e.g.

@import url("http://mysite.local/sites/all/themes/omega/omega/css/omega-visuals.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-base.css?mg6565");
@import url("http://mysite.local/sites/all/themes/ddnavin/css/global.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-font.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-form.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-branding.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-menu.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-header.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-preface.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-content.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-postfix.css?mg6565");
@import url("http://mysite.local/sites/all/themes/navin/css/navin-footer.css?mg6565");</style>

So... if I want to override CSS that is in one of the navin CSS files, then what is the proper method? Get global to show up later in the list or create another CSS file that shows up later? Explicit instructions are much appreciated! ;)

[UPDATE] I changed the weight in the global CSS from 10 to 50 and then it's at the end of the list... is this the best approach?.

css[global.css][options][weight] = '50'

Cheers,
Kristen

Kristen Pol’s picture

I also found that if I try to use:

ddnavin-alpha-default-wide.css

to override some CSS, it defaults to the navin CSS. But, I don't see an obvious place to set a weight or otherwise get my CSS to be ordered after the navin ones.

Suggestions?

Thanks!
Kristen

markcarver’s picture

Hi Kristen :)

Honestly, I don't think I'll be releasing a new version of Navin anytime soon (should probably update the project page accordingly). What you should probably do is simply rename (search and replace "navin") through out the theme and just modify the existing code. That would probably be the easiest at this point.

Sub-sub-themes are a really tricky concept to grasp, even for myself. It just takes time and patience to tinker with the config (especially with how Omega implements CSS for sub[-sub]-themes). I wish I had a better advice lol it's just the nature of the Omega beast. On another note, I will be releasing a new theme in the next few months which is Bootstrap (LESS) based. I will definitely consider sub-theming on it's construction though as it was more of an afterthought on this theme.

Kristen Pol’s picture

Thanks for the advice! :) Ok, I will plan on doing that... makes sense to me and that's how I've done sub-themes in the past but since there was this thread on sub-sub-themes, I figured I'd give it a go...

I do have one question that you might know how to deal with. If I don't want to go the full 1200+ width (just max out at 960), is this easy to do? There are a lot of files and settings and I'm assuming it's a one-liner but the question is "which line" :)

Thanks again... I appreciate the quick response.

[UPDATE] Something that I have found and that you might want to note on the project page is that the contextual links ("cogs") don't show up when using this theme and panels. It appears to be theme-dependent. Here's the issue: http://drupal.org/node/1461870

markcarver’s picture

I believe it's changing this line:
settings[alpha_layouts_alpha_default_wide_responsive] = '1'

to empty or 0, can't remember which works, will also need to clear the cache when changing info files:

settings[alpha_layouts_alpha_default_wide_responsive] = ''

In regards to the contextual links, that really isn't my area of expertise. However, if I were to guess it's probably because the $title_suffix and $title_prefix aren't getting rendered or there's nothing in there.

I just double checked this theme's code base for blocks and nodes, they appear to be in place. It might be how Omega itself handles/preprocesses stuff. Which would indicate that this is a base theme issue instead.

Hope this helps a little :)
Mark

Kristen Pol’s picture

Thanks Mark! I will try this out :)