Hi -

I am working on moving my site from Drupal 6 to 7. One of my own modules provided a Panels style plugin, and I had set style options for the entire Panels page. I did this by clicking a link on the "Content" page of the Panels UI that says "Display Settings," right above "Title type." I thought this was very useful - it makes sense to me to set style settings for the whole page rather than individual regions or panes.

In the new version, this link appears to be gone and I can't find it anywhere else. Is there still a way to set style options for the entire Panels page, and not just an individual region/pane?


Members fund testing for the Drupal project. Drupal Association Learn more


VM’s picture

Version: 7.x-3.0-alpha3 » 7.x-3.x-dev

This should be confirmed missing in 7.x-3.x-dev. Thus marking as such.

I don't specifically see the feature you speak of in the D7 version of Panels 3.x-dev but have confirmed it was in D6. Not sure if this is a regression that occurred during the port or if there is a reason the feature was dropped for when porting Panels from D6 to D7.

Letharion’s picture

Assigned: Unassigned » merlinofchaos

@merlin Has this feature been dropped?

helior’s picture

Assigned: merlinofchaos » Unassigned
Category: support » feature
Status: Active » Needs review
13.49 KB

Here is a patch that introduces "Wrapper Styles" under the "Display settings" drop-down menu. This allows style plugins to provide "render display" callbacks that can be applied to the entire Panels page. The existing
"No style" and "Rounded corners" style plugins provide an implementation to style the Panels page.

Upcoming patch will include a style base type of "display" for use with Stylizer and possibly some more documentation..

helior’s picture

** Update: just using the name "wrapper" not "display" for most references to the wrapper styles.**

This updated patch provides "wrapper" style base plugins, updated docs, and renamed array keys.

helior’s picture

Even more better! I didn't realize that wrapper settings weren't getting saved correctly. It's all good now. I changed the array key of where wrapper configurations are stored on the $display object to avoid name collisions.

Letharion’s picture

Assigned: Unassigned » merlinofchaos

I've tested the feature, and I must say it looks really nice. The idea is useful and it works as advertised.
My only objection is that you could set the wrapper around the page content with Panels Everywhere instead. Helior commented that on IRC with

It's applicable to sites that don't use PE, also, the styles are applied on the inner content, not the wrapper to the main content pane.

There's a bit to much code that I'm unfamiliar for me to feel comfortable saying I've reviewed it, so I'm assigning it to merlin for a second review.

helior’s picture

I encountered PHP notices while switching layouts. So I'm initializing the wrapper settings in panels_new_display(). One thing that concerns me is whether storing these configurations in the panel_settings display property is the right place or not.

helior’s picture

Title: Set style plugin for entire page? » Support "wrapper" style plugins for the entire display
314.64 KB
34.36 KB
66.58 KB

Posting some screenshots so people have an idea of what this patch accomplishes.

Wrapper Style settings for the display:
Screen Shot 2012-07-11 at 10.10.49 PM.png

Style plugins can have separate render/settings/etc. callbacks for the "wrapper":
Screen Shot 2012-07-11 at 10.13.02 PM.png

Here the "Rounded Corners" plugin wrapped around the entire display, as well as the regions within it:
Screen Shot 2012-07-11 at 10.15.08 PM.png

SocialNicheGuru’s picture

does not apply cleanly to panels

helior’s picture

Hmm. The patch applied for me, but I did also notice a whitespace warning. At any rate, here's an updated patch that I /think/ will apply okay.

big_smile’s picture

I've tried this patch on two websites (applying it to the stable (non-dev) version of Panels and it works brilliantly.
The patch applies cleanly with no errors.

Is this patch likely to become a part of panels in the future (I'm just checking so I know if to use in on future projects)?

My only objection is that you could set the wrapper around the page content with Panels Everywhere instead.

Is this feature all ready possible in Panels Everywhere? I looked around for the option, but could not find it.

Blue’s picture

Can this module be integrated in the future?

Saved me big time with HTML 5 wrappers for content. I really think this should be in core.

helior’s picture

Minor update that prevents a PHP notice about undefined index for wrapper_settings.

helior’s picture


kristougher’s picture

Issue summary: View changes

Tested the patch in #14. It seems to work and the functionality is quite nice.

Some of the functions lack function comment, but that goes for a lot of the panels module.

There are some commented lines of code:
+// 'preview' => 'panels_stylizer_display_preview',

plugins/styles/stylizer.inc w/plugins/styles/stylizer.inc

+    // 'wrapper settings form' => 'panels_stylizer_stylizer_style_settings_form',
+    // 'pane settings form' => 'panels_stylizer_stylizer_style_settings_form',
+    // 'settings form' => 'panels_stylizer_stylizer_style_settings_form',

+// 'preview' => 'panels_stylizer_display_preview',

I cannot say if these are relevant for future use.

stephanie.raad’s picture

Category: Feature request » Bug report
Priority: Normal » Major
50.26 KB

Patch #15, has a bug fix that exists in patch #13 and #14.

the bug fix allows for the patch 15 to be cleanly applied to panels 7.x-3.7