Reputation: 195
So I have my parent theme and my subtheme both enabled in Drupal 7.
I've specified in the .info of the subtheme that the base theme is the parent theme.
Once I create a page, how do I tell that page to inherit my subtheme?
Any help would be greatly appreciated.
EDIT: So what I want to do is create several new pages (about 20) that are going to follow the same template file as the rest of my Drupal site. However, they are all going to have different background images, link colors, and heading styles. I figured the Drupal subthemes would let me create a page that inherits the main stylesheet, but lets me modify it as needed for the new pages. Sounds like that's not what subthemes are for.
Thanks to Matt V: Subthemes allow you to use an existing theme as the starting point for creating your own custom theme.
Upvotes: 3
Views: 2486
Reputation: 21
By using themekey module you can achieve this
Refer http://drupal.org/project/themekey
Upvotes: 2
Reputation: 5520
I may be wrong but if you want to implement different themes on different pages, it sounds like what your looking for is "hook_custom_theme", it's pretty straight forward, basically you just add:
function mymodule_custom_theme(){
//Some custom logic here
$node=node_load(arg(1));
if($node && $node->type=="my_custom_type"){
return 'my_custom_theme';
}
}
your return value must be a string that equals the machine readable name of the theme you're switching to...
re-reading your post, you may want to look into the template_preprocess_html and template_preprocess_page functions. Inside of these functions you can set and alter your template variables, i.e.
$vars['styles']=drupal_get_css();
once you've done that you could easily swap out css tags with a little bit of logic, this method would allow you to only use one theme with multiple css files....
Upvotes: 2
Reputation: 383
to activate a subtheme, you need to enable it and set it as default.
The subtheme (or any theme for that matter) is for the site as a whole. To theme an individual page you could create a template for that specific page, or use the Panels module - there are many ways to skin a cat in drupal.....
here is some more info Drupal 7 theme system changes
Upvotes: 2
Reputation: 9148
To have your theme activated site-wide and used as default for ALL pages, you need to go in admin/appearance and activate your theme, and then click on the link beside the theme "Define as default".
To have your theme used on one specific page, that would be a bit trickier to do, just clarify if that is what you really wanted.
Upvotes: 1