This course is going to build on an existing, simple Drupal site for a fictitious band called Cash Bacon. In this chapter you'll see what software you will need and how to get the site running on your hosting account.
Please Welcome Cash Bacon
This lesson will show the start and end points for the Cash Bacon website, briefly highlighting the many areas we will be improving with the techniques covered in this course.
Most of the work we do in this course will be in the form of enabling new modules, but there are a few pieces of software that it will be helpful to have. In this lesson, we will look at how to get them and how to install them.
Views is the most popular contributed Drupal module, and with good reason. It is a visual database query builder that can create lists of content, users, and so much more. This chapter introduces Views and goes over some of its basic functionality.
Views: Superpowered Lists of Content
This lesson introduces what the Views module is and why we want to use it.
This chapter adds Date modules to the mix. You'll learn to add custom date fields to any content, which particularly useful for events. You'll also see how to use Date and Views together to make custom event pages and blocks, as well as how to use the Calendar module to create calendars from dated content.
Listing Shows with Date, Calendar, and Views
In this lesson we'll look at the modules in the Date family that we need to rebuild the static Shows page into a real event list that can be filtered and shown throughout the site.
When building a new website, it's helpful to have dummy content to help flesh out designs and functionality. Most of us don't have access to infinite monkeys and infinite typewriters, but we do have Devel Generate, which we'll use in this lesson.
The default HTML produced by Views allows flexibility in theming, but it is often much more than you need or want. In this lesson, we'll look at field style settings and use them to take control of the markup.
In this last chapter on Views, we will get into the more advanced topics of exposed and contextual filters (a.k.a. arguments), which allow users to limit the displayed content to certain sets. We'll also look at relationships, which let us join and expose different data in the same view.
Revisiting News and Views
In this lesson, we'll add exposed filters for tags and categories to the News page, allowing site visitors to view only those articles that are of interest to them.
Contextual filters are useful, but they don't necessarily show all the options the way exposed filters do. In this lesson, we'll create a block that shows a summary of all the authors who can be fed into the contextual filter.
Drupal's data are split among many database tables, but relationships allow us to tie in different tables, making our views more complete. In this lesson, we'll tie more author information into our summary block.
Display Suite is a family of modules that facilitate sophisticated layouts of content without requiring you to write any code. This chapter will explore some of the features of Display Suite that allow you to create columnar layouts, make custom combinations of existing fields, and clean up Drupal's sometimes overwrought default markup.
Display Suite: Powerful Content Display
In this lesson, you'll learn what Display Suite is and how to use it to customize the display of a website's content.
View modes are a built-in Drupal feature that enables you to control content display in different contexts. In this lesson, we'll look at how to use Display Suite on a per-view-mode basis and how to create custom view modes.
Fields in Drupal are normally used to add custom data to nodes, users, and more. In this lesson, we'll look at Display Suite's own fields, which allow you to display content in customized, fine-grained ways.
The Webform module facilitates easy creation of forms meant to be presented to the visiting public: contact forms, polls, questionnaires, and so on. In this chapter, we'll create a custom contact form (and see why we use Webform instead of the core Contact module) and create a poll for Cash Bacon's fans to fill out (and mention why we use Webform instead of the core Poll module).
The Webform Module: Surveys, Contact Forms, and More
Drupal has a Contact module built in, so why would we need to use another module for contact forms? In this lesson, we'll look at the Contact module and consider some reasons why you might want to use the Webform module instead.
Creating forms using the Webform module is fairly painless, but the companion module Form Builder makes it even better. In this lesson, we'll enable Form Builder and see just how easy making a Webform can be.
Panels is a module that helps site builders and designers create whole-page layouts. It uses a drag-and-drop interface to move content around in different regions and can pull content from throughout your Drupal site. In this chapter, we will create a new home page and edit the layout of the content creation screens.
Panels: Codeless Control of Full Page Layouts
In this lesson, we'll look at the Panels family of modules and install the ones we need to create a much nicer home page.
The Panels module is generally used to create full-page layouts, but Drupal can also display block regions (e.g. sidebars), potentially causing design problems. In this lesson, we'll look at two ways of fixing that problem.
In addition to creating entirely new pages, Panels can be used to alter the layout of existing pages within a Drupal site. In this lesson, we'll change the layout of the node creation and editing screen, setting it in stacked columns.
Integrating social networks is considered nearly essential for any modern website. In this chapter, we'll look at some of the options for importing and displaying content from Twitter and Facebook, as well as using widgets and social plugins.
Social Network Integration
In this lesson, we'll bring tweets into the website using the easiest method: a widget created on Twitter.com. We'll also discuss some drawbacks of this method that might lead us to a different approach.
Facebook is perhaps more of a "walled garden" than any other social network, but there are still options for integrating Facebook content into your website. In this video we'll explore the available options.
Using Facebook for comments is a popular way to avoid comment spam and leverage some useful features that Facebook offers. In this video, we'll combine Drupal for Facebook and Display Suite to use the Facebook Comments social plug-in for articles.
In this chapter, we'll step out of the realm of using contributed modules and take a brief look at the theme running on the Cash Bacon website to begin to get an idea of how to make look-and-feel modifications. We will also write a very small Drupal module to add a genuinely useful piece of functionality to the website.
Further Customizations: Theme and Module
Cash Bacon's website uses a subtheme of a responsive contributed theme called Skeleton. In this video, we'll look at Skeleton and the Cash Bacon Skeleton subtheme to see how they work together.
In this lesson, we'll look at many places where you can find more information on the Drupal API. The Examples module will get special attention, as will drupalcontrib.org and many specific parts of api.drupal.org.