10. 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 Content Left Sidebar Right Sidebar Footer
11. 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
12. 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
13. 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
14. 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.
15. Contexts are objects Nodes Users Taxonomy terms Forms Any other object someone writes a plugin for
18. Context at work Header Node: Story XYZ Taxonomy Term Left Sidebar Right Sidebar Post Author Node: Author Profile Footer
19. 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.
20. 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!
21. 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
22. Component: Custom layout Regions that can contain blocks Can create as a plugin or using the “flexible” layout builder from the UI
24. 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
25. 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
26. 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
27. Component: Views context Load a view into a context Split the pieces of a view across a layout Extract other contexts from view results
28. Component: Custom ruleset Group complex rules (a & b & c) into a single rule to make life easier for content managers
29. Misc: Panels fields Style plugin for view Split the fields of a view across a layout
30. Misc: Display suite Display suite now can use Panels layout and content to control node layout directly from the display suite UI
31. 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
Editor's Notes
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'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.