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.


merlinofchaos’s picture

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.

lpalgarvio’s picture

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

lpalgarvio’s picture

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.
merlinofchaos’s picture

Status: Active » Closed (fixed)

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

drupalusering’s picture

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

drupalusering’s picture

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

Dig1’s picture

Issue summary: View changes
Status: Active » Closed (fixed)

I am doing some triage on this project. This issue relates to 6.x-1.x-dev. No activity has ocurred on this issue for approximately 30 months. Hopefully ok to Close (fixed).