4

I want to theme Panels using Zen Grids for layout.

Question:

Since all content in Panels appears in the 'content' div, what is the most flexible way to use Panels to place content anywhere on the page?

EG. Right now, my content-item that is styled with 'region-sidebar-first' is appearing in the main content section (of course).

Do I use - Panels Everywhere? - Mini-Panels?

I don't want to over-complicate things. Is there some way of configuring Panels to place content within ANY div within the body section of a page? I'd like to avoid using too many other modules etc.. and keep it very clean.

Ideal Scenario:

  1. I place all the content-items inside a ONE column layout with Panels : (layout not important, but Panels does it's magic to create content based on Context etc... )
  2. I style each content-item using 'css-properties' inside Panels, and choose CSS from Zen Grids
  3. I use SASS to create a responsive layout via Zen Grids

Thanks in advance,

PW

4 Answers 4

4

Your answer is quite flexible actually.

You select the one column template and disable drupal standard regions and then just add a php filter custom content for each row in your grid. You add the grid classes inside your php filter and then use block render or views_embed_view.

Another more clean solution would be to create your own layout plugins for panels. It is not as difficult as it sounds. Just download and fork panels_extra_layout and you have everything you need in order to create your own custom and reusable grids.

Have fun.

2
  • Fantastic - thanks Alex. I actually went ahead earlier today and implemented it by creating my own layouts and as you say it is much cleaner.
    – pcrx20
    Dec 7, 2012 at 15:21
  • Why not just use mini-panels and then treat them like self-contained blocks?
    – AlxVallejo
    Jul 6, 2014 at 21:25
1

AlexPsi covers it pretty well, and you mostly answered it yourself. Panels works best replacing theme layout in the main content area, not integrating with your theme regions. Use panels in the main content area and just turn off all the columns, unless you need them for standardizing things across your site. I don't think we're at the stage of dropping blocks and regions, yet.

One big tip: In most cases you want to use Panelizer because it layers on top of nodes/fields/CCK, rather than replacing nodes with Node Panels (deprecated). In other words, Panelizer layers on top of your pre-existing Drupal knowledge.

1

I think Panels Everywhere will work well for you. I've used it in a professional context and it seems to be a good solution.

0

If you're using Zengrids for layout and only using panels for context you should check out the context module.

http://drupal.org/project/context

1
  • Thanks, but I want to use Panels with Zen Grids, not context.
    – pcrx20
    Dec 6, 2012 at 15:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.