The Panels Family<br />An overview<br />
High Level<br /><ul><li>Components
Custom content
Custom layouts
Custom styles
Mini Panels
Views panes
Views contexts
Custom rulesets</li></ul>Structure<br />Page Manager Page<br />Panels Everywhere<br />Content<br />Panelizer<br />Miscella...
Typical Drupal Design<br />Blue areas are regions<br />Blocks in regions are unrelated to the content<br />Have to use PHP...
How Designers See A Page<br />Everything on a page is a part of the content of that page, taken within the context of the ...
How Designers See A Page<br />Everything on a page is a part of the content of that page, taken within the context of the ...
Structure: Page Manager page<br />Has URL path of its own<br />System pages override existing Drupal functionality<br />Ca...
What the Frog is Context?!?!<br />Context is the underlying data you need to render a page.<br />A context is an object in...
Contexts are objects<br />Nodes<br />Users<br />Taxonomy terms<br />Forms<br />Any other object someone writes a plugin fo...
Context source: Arguments<br />http://www.example.com/node/12345<br />Node: Story XYZ<br />
Context source: Relationships<br />Taxonomy Term<br />Node: Story XYZ<br />Post Author<br />Node: Author Profile<br />
Context at work<br />Header<br />Node: Story XYZ<br />Taxonomy Term<br />Left Sidebar<br />Right Sidebar<br />Post Author<...
Structure: Panels Everywhere<br />Partially or Completely replace page.tpl.php and block admin UI<br />Change “page templa...
Content: Panelizer<br />Panelizer.module<br />Node which contains a panel<br />Can have default panel layout<br />Content ...
Component: Custom Content<br />Can simply from the UI or complex from a plugin<br />Equivalent to custom blocks in block U...
Component: Custom layout<br />Regions that can contain blocks<br />Can create as a plugin or using the “flexible” layout b...
Complex layout<br />
Component: Custom style<br />Can add decorations, such as rounded corners<br />Can control CSS properties such as font siz...
Upcoming SlideShare
Loading in...5
×

The panels family

1,440

Published on

Presentation given at LA Drupal camp, describes the basic components of the Panels family of modules and how they break down.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,440
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Drupal sees a page as the page content + some blocks + a page template. These 3 items are all completely unrelated to each other.Sometimes you relate blocks to content by using PHP visibility rules. It doesn&apos;t take long for this to get unwieldy.In a way, this is the Earth-centric model
  • At least, the designers I’ve worked with. Maybe there should be a grid here.Designers generally treat a page as a single entity, made up of related pieces.Sure, navigation is often site-wide, but that’s a tiny piece of what’s within regions.
  • At least, the designers I’ve worked with. Maybe there should be a grid here.Designers generally treat a page as a single entity, made up of related pieces.Sure, navigation is often site-wide, but that’s a tiny piece of what’s within regions.
  • The panels family

    1. 1. The Panels Family<br />An overview<br />
    2. 2. High Level<br /><ul><li>Components
    3. 3. Custom content
    4. 4. Custom layouts
    5. 5. Custom styles
    6. 6. Mini Panels
    7. 7. Views panes
    8. 8. Views contexts
    9. 9. Custom rulesets</li></ul>Structure<br />Page Manager Page<br />Panels Everywhere<br />Content<br />Panelizer<br />Miscellaneous<br />Panel fields (Views)<br />Display suite<br />
    10. 10. Typical Drupal Design<br />Blue areas are regions<br />Blocks in regions are unrelated to the content<br />Have to use PHP snippets to make blocks context sensitive<br />Can only place a block in one region<br />All regions always render even when not displayed in page.tpl.php<br />Header<br />Content<br />Left Sidebar<br />Right Sidebar<br />Footer<br />
    11. 11. How Designers See A Page<br />Everything on a page is a part of the content of that page, taken within the context of the entire site.<br />Content<br />
    12. 12. How Designers See A Page<br />Everything on a page is a part of the content of that page, taken within the context of the entire site.<br />Also, designers like grids.<br />Content<br />
    13. 13. Structure: Page Manager page<br />Has URL path of its own<br />System pages override existing Drupal functionality<br />Can assign arguments to contexts<br />Variants can provide different pages on criteria<br />Exportable, can be provided by modules<br />
    14. 14. What the Frog is Context?!?!<br />Context is the underlying data you need to render a page.<br />A context is an object in Drupal: i.e, node, user, view, entity, form, taxonomy term, etc.<br />Arguments and relationships produce context<br />Access rules, relationships, content panes consume context.<br />
    15. 15. Contexts are objects<br />Nodes<br />Users<br />Taxonomy terms<br />Forms<br />Any other object someone writes a plugin for<br />
    16. 16. Context source: Arguments<br />http://www.example.com/node/12345<br />Node: Story XYZ<br />
    17. 17. Context source: Relationships<br />Taxonomy Term<br />Node: Story XYZ<br />Post Author<br />Node: Author Profile<br />
    18. 18. Context at work<br />Header<br />Node: Story XYZ<br />Taxonomy Term<br />Left Sidebar<br />Right Sidebar<br />Post Author<br />Node: Author Profile<br />Footer<br />
    19. 19. Structure: Panels Everywhere<br />Partially or Completely replace page.tpl.php and block admin UI<br />Change “page template” based upon context.<br />Assign specific page templates directly to specific pages.<br />Exportable, can be provided by modules and themes.<br />
    20. 20. Content: Panelizer<br />Panelizer.module<br />Node which contains a panel<br />Can have default panel layout<br />Content creator can create new layout<br />Lots of room for future expansion. Contributors wanted! <br />
    21. 21. Component: Custom Content<br />Can simply from the UI or complex from a plugin<br />Equivalent to custom blocks in block UI<br />Can control naming and categorization<br />Text with an input filter<br />Reusable<br />Exportable<br />
    22. 22. Component: Custom layout<br />Regions that can contain blocks<br />Can create as a plugin or using the “flexible” layout builder from the UI<br />
    23. 23. Complex layout<br />
    24. 24. Component: Custom style<br />Can add decorations, such as rounded corners<br />Can control CSS properties such as font size, weight<br />Can repurpose panes to create tabsets, accordions<br />Can be plugins, or simpler custom styles can be created in the UI and exported.<br />See: Stylizer module<br />
    25. 25. Component: Mini panel<br />Anything you want in a panel…in a block (or pane)<br />Useful for side by side or for putting several distinct content pieces together for re-use<br />
    26. 26. Component: Views pane<br />A special display type that makes a view available as a content pane<br />Can use contexts as arguments<br />Can control the appearance in the Add Content dialog<br />Can control what config option is available<br />Can optionally allow panel config to control which fields show<br />Can repurpose exposed filters into panel config to improve experience of content managers<br />
    27. 27. Component: Views context<br />Load a view into a context<br />Split the pieces of a view across a layout<br />Extract other contexts from view results<br />
    28. 28. Component: Custom ruleset<br />Group complex rules (a & b & c) into a single rule to make life easier for content managers<br />
    29. 29. Misc: Panels fields<br />Style plugin for view<br />Split the fields of a view across a layout<br />
    30. 30. Misc: Display suite<br />Display suite now can use Panels layout and content to control node layout directly from the display suite UI<br />
    31. 31. Pain Points<br />Too many ways to do Views<br />Can be hard to do forms that aren’t nodes<br />Modules that don’t talk Panels don’t put their content in a way Panels can use it<br />Block system sucks, spreads suck to everything it touches<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×