Takes a tour through some of the more useful template variables, and more ways of determining the available variables by adding the following code to a page template:
Walks through the process of copying the default node.tpl.php file from the core node module into the theme, and then customizing the output specific to individual in order to match the design. See how to add specific variables, when to use conditional if statements and the best way to debug and iterate through this process.
Additional resources
In this chapter, we add some sidebar and footer regions to the page via the .info files, and printing those new regions out in our page template file, adding some blocks to help with testing. We also talk about Devel and Krumo, and how we can use those to find out everything that is available in out page array, using the dsm() function. While inspecting out page array, we point out the differences between elements and properties within renderable arrays.
Additional resources
We'll go a step further with our preprocess functions and look at working with node variables, and how to limit new variables to only specific content types.
Additional resources
This video walks through the process of replacing static content in the page.tpl.php file with dynamic variables. Joe talks about the html.tpl.php file as well as pointing some of the important variables that should be included within the theme.
Additional resources
This chapter covers some really handy browser extensions in the process of theming. For Firefox, there's the Web Developer Toolbar for turning off and on JavaScript, resizing the browser window to different sizes, and inspecting elements. It also has the capability to test changes to CSS files in a format that is easy to copy and paste into the source file. We also show off the basics of the popular Firebug extension, and the equivalent functionality that is now built in to webkit-based browsers such as Safari and Chrome.
Additional resources
Continuing on our work with preprocess functions, we look at how to add a new variable for our template files to use. We also see how to change the output based on whether the user is logged in or not, and how to add a variable to the t() function.
Additional resources
In this chapter, we'll walk through some of the best practices for filling out a stock Drupal site so that you can start to have some dummy content generated by different users and tagged with different taxonomy tags. We'll step through creating content with the devel generate module, and then do some other site preparation tasks such as creating some menu items and adding a shortcut link to the performance page so that you can quickly access the clear cache button.
Additional resources
This screencast presents a way to help manage article promotions, separate content types used for promoting articles, providing more flexibility than standard teasers. The screencast shows how to have promotion nodes being published, unpublished and deleted in sync with the articles they belong to. Topics covered are:
- Reacting on the node deletion event.
- Using fetch entity by property to load a list of all relevant promotion nodes.
- How to have the loaded list unlimited in length.
- Using the delete entity action.
- How to call rule components from a reaction rule.
- Why it might be a good idea to have actions in separate components when acting on node updates.
- Cloning rule components.
- Publishing and unpublishing nodes.
Additional resources
Rules guide (Drupal.org)
This screencast shows how to set up Rules to allow comment writers to be notified when replies are posted to their comments. It covers:
- Adding a checkbox to the comment form, turning on or off reply notifications
- Sending e-mails to the comment author when new comments are posted
- Not sending e-mails when replying to own comments
- Some words about checking “entity has field” on the correct entity
Additional resources
Rules guide (Drupal.org)
This screencast shows how to set up Rules to allow node authors to – optionally – receive e-mail notifications when comments are posted to his or her content. It covers:
- Adding a checkbox to user accounts, turning on or off comment notification
- Sending e-mails to a node author when new comments are posted
- Not sending e-mails to the author if he/she was the one writing the comment
Additional resources
Rules guide (Drupal.org)
Calendars with Drupal 7
CourseIn this video we take a look at several advanced configuration options when working with calendars. We start off by talking about the various pager options available and how that works with AJAX, and then we explain how you can keep track of the current date that someone is viewing the calendar in as they move through the various displays. We wrap up by covering three methods for working with caching to improve your site's performance, as calendars can be intensive, depending on the site. We'll discuss caching with the Entity cache module, using the Date API date caching, and then review using views caching.
Additional resources
In this presentation Karen walks us through the basic concepts of the Organic Groups 7.2 module, also known as OG. She looks at what OG can do for us, explains how it works in Drupal 7 with entities, and does a brief comparison of OG with a multi-site installation.
Additional resources
In this video we will look at overriding a theme function instead of working with the template files. We will be modifying the breadcrumb using theme_breadcrumb(). to do this we'll use the Theme Developer module to help us find what we're looking for, and then we'll walk through how to override.
Additional resources
Theme Developer module (Drupal.org)
960 Robots
In this video we will see how we can create our own preprocess function for a theme function (not just templates). We're going to use this to display the user's full name on the site wherever the the username would normally appear. We start by creating a full name field, and then show how to get this working on our site.
Additional resources
In this video we will look at how to add CSS and JavaScript to our site using drupal_add_css()
and drupal_add_js()
. We will also show using these functions to conditionally add the CSS and JavaScript, within our page preprocess function.
Additional resources
In this video we'll see how we can create our own template suggestions. We'll do this in our node preprocess function to create a new node template that will be used depending on the day of the week.
Additional resources
In this lesson we will cover what is necessary to use repeating/multiple dates on a single event. After getting the proper modules installed and a content type to handle repeating dates, we show you how the calendar module handles this out of the box. We go even further and explain how everything is setup to give you a better understanding of all the settings necessary to make this happen.
Additional resources
In this lesson we will configure the day view even further by adding our taxonomy field as a method of grouping events. This will give us the ability to show events grouped together in a column to further organize our day view.