This screencast covers the following topics:
- Rearranging the node edit form with Panels.
- Some words about how the render arrays in Drupal 7 makes this possible.
The Views Context
FreeThis screencast covers the following topics:
- Creating a Context display type in Views.
- Placing individual View rows in your custom page.
- Displaying other View render elements in your custom page (such as the pager or header).
- Using the View context to load further contextual object.
This screencast covers the following topics:
- Adding new contextual objects with manual selection.
- Adding new contextual objects with relationships.
- Chaining contextual objects, with the example of loading a node term, and then loading the term top level parent (or not).
This tutorial covers the following topics:
- The Contextual Administration module and variant type.
- Auto-populating node reference fields for new nodes.
- A quick glance at other functionality in Contextual Administration: vocabulary administration pages, user administration pages, quick content handling pages, and more.
- Using the local actions menu type.
This screencast covers the following topics:
- Creating custom paths with Page manager
- Defining required and optional wildcards in a path
- Loading contextual objects from path arguments
- Creating access rules for custom pages
- Creating menu tabs, local actions and other visible menu items
- Making menu items only show in certain circumstances, such as only on selected node types
Panel Pane Settings
FreeThis screencast covers the following topics:
- Using visibility rules to determine when panes should show
- Using per-pane or per-page caching
- Setting caching granularity to per context or per argument
- Editing basic pane settings
- Moving panes between different panel regions
- Some layout settings for panes
More View Panes
FreeThis screencast covers the following topics:
- Setting name, description and category for view panes
- Overriding the title of the view
- Overriding the number of items to display
- Some other override options
- The "context is optional" setting for argument input/contextual filter value input
This screencast covers the following topics:
- Setting up contextual filters with Views Content Panes
- Getting argument input (contextual filter value) to a Views Content Pane
- Embedding a Views content pane in a panel
This screencast covers the following topics:
- What is Panels?
- Selecting Panels layout
- Disabling block regions on a panel page
- Adding content to a panel
- Outputting individual node fields in a panel page
- Manually setting the title on a panel page
- Inheriting page title from a panel pane
This screencast covers the following topics:
- How to create additional variants to a custom page
- How to set selection rules with more than one condition
- Why the order of variants is important, and how to change their order
This screencast covers the following topics about the Page Manager module, which is a module included within CTools.
- The basic framework of Page manager – creating custom paths and assigning content/reactions to them
- Mentioning some modules that can be used with Page manager, such as Panels and Contextual administration
- Overriding node templates to allow customized content/reaction
- Introduction to variants
- Introduction to selection rules
- Using the HTTP response code variant type, and using it for redirections
- Introduction to context or contextual objects
In this introductory video we go over what you should already know to get the most out of this series. We also describe topics covered in each of the 13 episodes – over 2 hours in total.
Each episode covers just one concept, when possible, so you can get the most out of them without getting overwhelmed.
If you need to brush up on Views, you can watch our Intro to Views for Drupal 7 series.
Learning Page Manager
CourseHappy New Year! The Module Development series is wrapping up by working our way through another major API in Drupal, the database layer. We have five videos to walk you through it.
- An overview of the database layer in Drupal 7 is an excerpt from our Overview of Drupal 7 roundtable discussion, led by Angie Byron, the Drupal 7 co-maintainer.
In this chapter we learn about changing the definition of a database table after it has already been installed. This example expands on the previous chapters by adding a new field to the table to collect the date a user last visited a node. We learn more about hook_update_N() as well as db_add_field().
In this chapter we learn other ways to interact with our database beyond the simple db_select() query from the earlier video. This example walks through writing a module that that saves and displays data about how many times a user has visited a specific page. We learn about db_select(), db_insert(), db_update(), db_merge(), db_delete() and introduce the concept of "get and set" helper functions.
In this chapter we learn how to get data out of the database and display it. The example walks through writing a module that creates a page that displays how many nodes are published and unpublished for each content type in our site. We use the db_select() function to accomplish this.
In this excerpt from the Overview of Drupal 7, Angie Byron, talks about the Database API in Drupal 7. This was a round table discussion with other Lullabots on the line who ask and answer questions, in addition to Angie's presentation. This lays a good foundation for how the database system works in Drupal and sets you up for the hands-on tutorials that follow.
Additional resources
In this chapter we learn how to create a new database table. This example walks through creating a module that defines the the properties of our new table and also programatically creating that table. We learn about hook_schema() and hook_update_N() in our module's install file.
Trainers note: This video starts out with a module that implements hook_node_view() and stores data about views in the $_SESSION variable. It also states that we built this earlier in the series. However, that's not true. We did talk about hook_node_view() in https://drupalize.me/videos/event-driven-hook-system, but we never actually wrote the $_SESSION handling part. So, if you're following along and want the same sample code we start with make sure you download the code attached to this node.
Release Day: More Module Development
Blog postFor this Wednesday, we're adding more videos to the Module Development for Drupal 7 series. We have three new videos for you:
- Altering forms with hook_form_alter introduces you to one of the most used hooks in Drupal development. It lets you change any form in Drupal and is a great tool in your kit.