Sorry to be a noob, but I'm still trying to figure out PE. I have an existing ZEN subtheme that I would like to use with Panels Everywhere, but when I go to check "Override page template" then I lose my ZEN provided body classes which also includes my Skinr classes.

If I leave "Override page template" unchecked, it uses my theme's page.tpl.php, but then the PE site template no longer works.

I realize the problem is that PE overrides preprocess_page and that is what ZEN uses to add the body and skinr classes.

Is there a way to add those back in? Sorry, I'm just having a hard time getting started with PE, though it looks to be really cool.

Comments

Status:Active» Fixed

In order to do this, you'll have to not let PE override your page.tpl.php; instead, you will need to create a stripped down page.tpl.php that contains just what you need (probably the html and body tags only) and use a different template file only when a site template has been selected. The README.txt file contains instructions on how to do that in the last section.

Status:Fixed» Closed (fixed)

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

Component:Miscellaneous» Code
Category:support» feature
Status:Closed (fixed)» Active

requesting $classes / $body_classes to be added to
it is used by many themes.

classes being added (AFAIK):
- cron-check-processed
- admin classes for admin module

some classes missing:
- front OR not-front
- not-logged-in OR logged-in
- node-type-***
- two-sidebars (and others) for Zen theme

from Zen:

* - $classes: String of classes that can be used to style contextually through
*   CSS. It should be placed within the <body> tag. When selecting through CSS
*   it's recommended that you use the body tag, e.g., "body.front". It can be
*   manipulated through the variable $classes_array from preprocess functions.
*   The default values can be one or more of the following:
*   - front: Page is the home page.
*   - not-front: Page is not the home page.
*   - logged-in: The current viewer is logged in.
*   - not-logged-in: The current viewer is not logged in.
*   - node-type-[node type]: When viewing a single node, the type of that node.
*     For example, if the node is a "Blog entry" it would result in "node-type-blog".
*     Note that the machine name will often be in a short form of the human readable label.
*   - page-views: Page content is generated from Views. Note: a Views block
*     will not cause this class to appear.
*   - page-panels: Page content is generated from Panels. Note: a Panels block
*     will not cause this class to appear.
*   The following only apply with the default 'sidebar_first' and 'sidebar_second' block regions:
*     - two-sidebars: When both sidebars have content.
*     - no-sidebars: When no sidebar content exists.
*     - one-sidebar and sidebar-first or sidebar-second: A combination of the
*       two classes when only one of the two sidebars have content.

Status:Active» Closed (fixed)

You need to use the solution I presented in #1.

Priority:Normal» Critical

I have tried solution #1 and it works fine. I have also attempted to add the body classes function to panels everywhere template, but it outputs empty class tag.
The reason i'd like to not use solution #1 is because whenever i click edit site template after disabling override site template setting - the panels edit page is BLANK! [that's the reason i marked tis critical]. When i select the setting override site template, i am able to edit the panel again

Priority:Critical» Normal
Status:Closed (fixed)» Active

Funny thing is even with solution in #1 if the [overwrite page template setting is disable] I am able to edit the site_template panel content [if && only if] I disable the variants and the panel itself - which is an extra step that appears to be a minor bug. I have cleared cache in every possible way even admin menu and truncating cache tables - not the issue.. If i do not disable the panel and at least the variant which content i am attempting to edit while theme page template is not overwritten - i get wsod. If i enable Overwrite - there's no issue - but then i have to use a hackering php request_uri / find method that's just impractical and more of a nuisance than disabling reenabling panel + variant. This is a very minor issue and i found out it is possible to keep the template from theme so i can have the body classes - it's just that when i am intesively working on panels i have to enable overwrite so i dont have to go thru troubles of the disabling / reenabling and cache clearences. Hope i am not too annoying with pointing this out, but it could be just my case due to 3rd party module - which oh my are too many for a healthy setup anyways, but in case someone runs into the issue - hope this helps