Posted by mmarsello on December 29, 2013 at 5:33am
Hi everyone,
Forgive me if this question is also posted somewhere else. I've seen it other places but never a concensus with the replies. I was wondering what is considered best practice for building a site with header and footer sections visible on every page. Is it best to code those sections in page.tpl.php or is it preferred to add header and footer regions to the theme to place content? Or better yet, is there a way to get a panel to appear on every page regardless of context. I'm currently working on a site and took the page.tpl.php approach. I was wondering if it's just a matter of preference or if there's a best practice associated with it.
Thanks!
-Mike
Comments
I don't think there is any one right answer.
I don't think there is any one right answer. It'll be a combination of requirements (ie. what is going in the header/footer, how complicated is it, how often will you change it, and who will change it?) and personal preference.
Personally, I tend to setup theme regions and use blocks for the header and footer - where as, I leave the content area of the page to Panels. My two favorite base themes are Omega and Radix.
Or you can use Panels Everywhere to build your header and footer with Panels.
Open Atrium 2 took an interesting approach in building their header as a mini-panel, and then having the theme inject it into the page. That's sort of a poormans Panels Everywhere. :-)
clarification...?
So, when you say you tend to set up theme regions and use blocks for header and footer, do you mean that you are turning on blocks in Panopoly and just using them in the header and footer?
Also, does Omega play nice with Panopoly?
For that matter, I'd be interested to learn whether people are installing Panels Everywhere over a Panopoly distro.
Thanks for clarification.
So, when you say you tend to
Yes.
Yes, although, I've only personally used Omega 3 (not 4) with Panopoly.
I hope that helps!
Agreed
Agree with @dsnopek... it really depends on your use case.
Kalatheme (a responsive bootstrap based theme for panopoly) uses the page.tpl.php approach to set a static header but then uses panels for everything else. If that sounds like your use case i would definitely check it out. Plus it is really really easy to set up a custom theme.
kalatheme
I just want to confirm that kalatheme is very simple. I used it in my panopoly based distro, and I don't know php, I am just a "configurator".
Thanks... I'd tried Kalatheme
Thanks... I'd tried Kalatheme once before but hit a bug. I'm sure that's gone now. Can you explain how one adds, for instance, a custom footer that will appear on all pages in Kalatheme? I'd appreciate being steered in the right direction, as I am porting a site that was already live, and only so much change will be allowed--which means customization will be necessary.
Hard Code or Blockz
For "static" elements and Kalatheme we recommend either hardcoding a footer into your page template file or providing a footer "region" and using the normal blocks interface (or context/display suite) for the footer.
Really Appreciate this Thread !
Funny that this thread was created because I have had the same question for a while.
IMHO I feel that both Radix and Kalatheme should have a lot more documentation and UI capabilities to add content to these regions. The logo, header and footer are a little tricky if you are not familiar with drupal.
Thanks to @dsnopek for his clear opinion as I decided to use a mixture of his suggestions to create a "footer_top region":
-added a region in the .info file
-printed the region in the page.tpl.php
-created mini-panel with my different content
-activated the "blocks" module
-added mini-panel block to my new Footer Top Region.
Kaleem S. Clarkson
www.kaleemclarkson.com
Radix vs. Omega
Our team has been using Omega almost exclusively for some time. But our distro (based on Panopoly) was forked by another team and they immediately used Radix to much success.
So, I'm wondering, are we holding on to Omega to strongly?
If the panels community is strong with Radix, should we switch?