the panels family

Post on 20-Jun-2015

1.408 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

The Panels Family

An overview

High Level

• Structure– Page Manager Page– Panels Everywhere

• Content– Panelizer

• Miscellaneous– Panel fields (Views)– Display suite

• Components– Custom content– Custom layouts– Custom styles– Mini Panels– Views panes– Views contexts– Custom rulesets

Typical Drupal Design• Blue areas are regions• Blocks in regions are

unrelated to the content• Have to use PHP snippets

to make blocks context sensitive

• Can only place a block in one region

• All regions always render even when not displayed in page.tpl.php

Header

Left Sidebar

Footer

Right Sidebar

Content

How Designers See A Page

• Everything on a page is a part of the content of that page, taken within the context of the entire site.

Content

How Designers See A Page

• Everything on a page is a part of the content of that page, taken within the context of the entire site.

• Also, designers like grids.

Content

Structure: Page Manager page

• Has URL path of its own• System pages override existing Drupal

functionality• Can assign arguments to contexts• Variants can provide different pages on criteria• Exportable, can be provided by modules

What the Frog is Context?!?!

• Context is the underlying data you need to render a page.

• A context is an object in Drupal: i.e, node, user, view, entity, form, taxonomy term, etc.

• Arguments and relationships produce context• Access rules, relationships, content panes

consume context.

Contexts are objects

• Nodes• Users• Taxonomy terms• Forms• Any other object someone writes a plugin for

Context source: Arguments

http://www.example.com/node/12345

Node: Story XYZ

Context source: Relationships

Node: Story XYZ

Taxonomy Term

Post Author

Node: Author Profile

Context at workHeader

Left Sidebar

Footer

Right Sidebar

Node: Story XYZ

Taxonomy Term

Post Author

Node: Author Profile

Structure: Panels Everywhere

• Partially or Completely replace page.tpl.php and block admin UI

• Change “page template” based upon context.• Assign specific page templates directly to

specific pages.• Exportable, can be provided by modules and

themes.

Content: Panelizer

• Panelizer.module• Node which contains a panel• Can have default panel layout• Content creator can create new layout• Lots of room for future expansion.

Contributors wanted!

Component: Custom Content

• Can simply from the UI or complex from a plugin

• Equivalent to custom blocks in block UI• Can control naming and categorization• Text with an input filter• Reusable• Exportable

Component: Custom layout

• Regions that can contain blocks• Can create as a plugin or using the “flexible”

layout builder from the UI

Complex layout

Component: Custom style

• Can add decorations, such as rounded corners• Can control CSS properties such as font size,

weight• Can repurpose panes to create tabsets,

accordions• Can be plugins, or simpler custom styles can

be created in the UI and exported.• See: Stylizer module

Component: Mini panel

• Anything you want in a panel…in a block (or pane)

• Useful for side by side or for putting several distinct content pieces together for re-use

Component: Views pane

• A special display type that makes a view available as a content pane

• Can use contexts as arguments• Can control the appearance in the Add Content dialog• Can control what config option is available• Can optionally allow panel config to control which

fields show• Can repurpose exposed filters into panel config to

improve experience of content managers

Component: Views context

• Load a view into a context• Split the pieces of a view across a layout• Extract other contexts from view results

Component: Custom ruleset

• Group complex rules (a & b & c) into a single rule to make life easier for content managers

Misc: Panels fields

• Style plugin for view• Split the fields of a view across a layout

Misc: Display suite

• Display suite now can use Panels layout and content to control node layout directly from the display suite UI

Pain Points

• Too many ways to do Views• Can be hard to do forms that aren’t nodes• Modules that don’t talk Panels don’t put their

content in a way Panels can use it• Block system sucks, spreads suck to everything

it touches

top related