246 videos, 10h 21m

How the 'Add comment link' Views field is inflexible and why we'll need another approach

Show videos in one column
Show videos in split view
Mark multiple complete (member-only)
Add multiple to a playlist (member-only)
Change speed.5x1x1.5x2x3x


  1. 23:38Welcome to Advanced Site Building
    1. 1:52Welcome to "Advanced Site Building"
    2. 3:34About our project and how project roles work
    3. 4:11What a "site builder" is and the powerful tools they work with
    4. 1:22What wireframes are and where to find them in our resource pack
    5. 2:48Identifying the components in our blog home page wireframe
    6. 2:47Reviewing our blog post and review page wireframes
    7. 0:52About our step-by-step approach
    8. 6:12How to set up our Drupal installation with Acquia Dev Desktop
  2. 30:12How to Set Up Administration Tools to Speed Up Productivity
    1. 1:39About the administration modules we'll be using
    2. 3:28How to install a module the traditional way and configure the Administration Menu module
    3. 6:08How to install a module using Drush, and how we approach installing modules in this series
    4. 1:14How to use the Coffee module
    5. 1:17How the Navigate module works
    6. 2:54How the Backup and Migrate module works and creating our first backup (Backup 1)
    7. 1:32How to restore a Backup and Migrate backup
    8. 2:03How Backup and Migrate works with cron and cache tables
    9. 3:56How the Module Filter module works
    10. 2:31How the Module Instructions module works
    11. 0:39About the Admin module and why we're waiting to install it
    12. 1:54How to set up some basic visual branding
    13. 0:57A quick summary of our work and backing up (Backup 2)
  3. 36:06How to Configure Content Type Settings and Splitting Fields Between Types
    1. 1:56How to determine when to split up content into two content types
    2. 3:43How to set sane default publishing settings for a content type
    3. 1:36Why you would want to share existing fields between content types
    4. 4:35How to set up an image field and why to use individual folders for media fields
    5. 3:05How to choose a good, basic URL scheme and adding our first product
    6. 1:26About the special role of the first created user (user 1)
    7. 1:39Setting up our "review" content type
    8. 2:39How to install module dependencies and installing the Entity Reference module
    9. 2:19The difference between a field and a field instance, and setting up an entity reference field
    10. 1:44About the Fivestar and Voting API modules
    11. 4:04How to add a fivestar field and configure voting tags
    12. 4:37Adding our additional fivestar fields and why site building can sometimes feel tedious
    13. 2:43How to put field labels inline and hide the text below a fivestar rating
  4. 41:33How to Use Display Suite for Grouping Fields and Positioning Content
    1. 1:07Creating a backup and why things are going to start getting interesting (Backup 3)
    2. 3:23An overview of the two methods to group fields in a display: view modes and the views module
    3. 2:26The 4 more common methods of positioning content on a page
    4. 0:58Quick recap of the 4 methods of positioning content
    5. 3:16How to choose the correct view mode for a particular context
    6. 2:33Overview of the Display Suite modules and which ones we should enable
    7. 2:07How to enable editing view modes and adding a custom view mode with Display Suite
    8. 2:06How to enable a custom view mode and test it out
    9. 2:09How to hide the 'submitted by' information and node title by setting a Display Suite layout
    10. 1:43How to add a field with custom content to a view mode with Display Suite
    11. 1:48How to choose an image style for a particular context
    12. 2:28When to create a new image style and how to name it
    13. 0:38Creating a backup and nice work (Backup 4)
    14. 3:36How to display content in a sidebar within the content region using Display Suite
    15. 1:43How the 'region to block' feature works and what we mean by 'region'
    16. 6:10How to display fields in blocks that can be enabled in theme regions using Display Suite
    17. 1:56Removing the block title, label and shrinking our image style
    18. 1:26Making another backup (Backup 5)
  5. 14:42How to Use the Context Module for Positioning Content
    1. 2:03The limitations of the default blocks listing page and what the Context module does
    2. 1:25Overview of the modules that come in the Context package and installing Context
    3. 4:00How the Context module works and how to create a context
    4. 1:04Why it might make sense to use Context for positioning all blocks
    5. 5:34How to use Context instead of the default blocks configuration page
    6. 0:36Creating a backup before diving into Panels (Backup 6)
  6. 42:15How to Use Panels for Positioning Content
    1. 1:11Why we're looking at so many ways of doing the same thing
    2. 2:54About your responsibilities as a site builder, and thinking in terms of boxes
    3. 1:17Why Panels is so powerful and potentially intimidating
    4. 2:40How to install Panels and what the Page Manager module does
    5. 4:22How variants work in Panels
    6. 3:46How to use the Panels builder layout to understand regions, rows, columns and canvas
    7. 1:51How to add a panel pane that contains a full node
    8. 2:13How to add a pane for a node field and what we still need to complete our Panels layout
    9. 0:55How to modify a context with the Context module
    10. 1:52How we will approach aligning the title with the content sidebar in Panels
    11. 2:28How to install the Meta tags and Token modules
    12. 4:29Attempting to display the title of our panel by using the node title pane (and failing)
    13. 1:57Why using the page title Panel pane doesn't work for our panel page title
    14. 2:07How to add custom content to a panel pane
    15. 3:03How to inspect an HTML element to find out why it looks different than we want it to
    16. 0:42A pre-exploritory backup (Backup 7)
    17. 4:28Comparing Panels and Display Suite side-by-side
  7. 48:18How to Import Content With Feeds
    1. 1:31About what's coming up next (Feeds and Views)
    2. 1:32About what the Feeds and Migrate modules accomplish
    3. 2:56About the Feeds modules, alpha releases and why the UI (user interface) is in a separate module
    4. 2:47What to do when there isn't a recommended module release, and about development releases
    5. 3:13How to structure a CSV (comma-separated values) file for Feeds and a bit about our import
    6. 4:47How to import nodes with the Feeds module (basic settings and importer)
    7. 6:01How to import nodes with the Feeds module (parser and processor settings)
    8. 2:02How to import nodes with the Feeds module (mapping title, body and image)
    9. 2:32How to import nodes with Feeds and undo our import
    10. 2:26Setting up our node images in our files directory and what we need to rewrite an image path
    11. 2:03How to install the Feeds Tamper module
    12. 5:01How to use Feeds Tamper to rewrite the path of an image so it imports properly
    13. 2:47Setting up our product review Feeds importer
    14. 3:36Setting up our mappings for the product review Feeds importer
    15. 2:24Updating our product review nodes manually
    16. 2:01How to bulk publish nodes and strategy for importing content for site building
    17. 0:39Backing up our project (Backup 8)
  8. 48:04Advanced Views
    1. 3:10Why to display a single piece of content with Views, installing Views, and why we're building the same view 3 times
    2. 5:29How to group views displays, and how to decide what entity to base a view on
    3. 1:46How to fill in the views wizard to create a block
    4. 1:51How contextual filters work in the Views module
    5. 2:27How to add a views contextual filter for the node currently being viewed
    6. 1:23How to preview a view with a contextual filter
    7. 3:48How to display a full node in a views block
    8. 1:09Why to disable a block even when it's not visible, and displaying a block only for certain node types
    9. 1:37How to display a block for certain node types using Context
    10. 2:30Comparison between using Context and the default blocks configuration workflow
    11. 2:39The difference between our two views and filling out the views wizard
    12. 1:43How relationships work in Views and how to add a referencing entity relationship
    13. 2:49How to create a contextual filter with a relationship in Views
    14. 2:27How to use fields or rendered entities when using a relationship in Views
    15. 0:53Enabling our product-based block with Context
    16. 1:49How to hide a block title using the Context module and why it's a bad idea
    17. 1:38How to hide a Views block title
    18. 0:56About how we're going to rebuild these views using fields instead of a view mode
    19. 5:44How rebuilding our review-based view using fields adds complexity
    20. 2:16How to rebuild our product-based view to use fields
  9. 30:37Where Display Modules Overlap and URL Strategy
    1. 0:32Backing up our work (Backup 9)
    2. 2:25Where Panels, Views, Display Suite and Context overlap in functionality
    3. 5:22Overview of options for displaying blocks in sidebars (Panels, Views, Display Suite, Context)
    4. 3:23How to use Mini-Panels to create one block that includes all our global blocks
    5. 2:00How to position a Mini-Panel block using the Context module
    6. 2:24How and why to hide PHP errors with the "Logging and errors" settings
    7. 1:30How to disable a view and removing blocks using Context
    8. 1:35Why ordering blocks across multiple contexts is tricky, and what we're about to do
    9. 2:33How we will approach creating an exception for a site-wide context
    10. 2:38How to set good default URL alias patterns and installing the Pathauto module
    11. 1:31Why it's important to establish a URL alias strategy before launching a site
    12. 1:33How to bulk update the URL aliases of existing nodes and how the Global Redirect module works
    13. 2:09How to use multiple conditions in a context and exclude certain paths
    14. 1:02Adding our mini-panel block back in through the "review page" context
  10. 28:36How to Work With User Fields and Import Users
    1. 0:25Backing up our work (Backup 10)
    2. 2:07About the views-based blocks we're about to build
    3. 2:35How to add a textual bio field to a user
    4. 3:38How to install the Link module and configure a link field
    5. 2:30The problem with using Feeds with user images, and adding a user avatar
    6. 3:15Setting up our user image field
    7. 4:05How to use an image field as the user avatar with the User Picture Field module
    8. 0:56Hiding our default user avatar and why we did this switch again
    9. 3:14Reviewing our settings for our user feeds importer
    10. 3:17Setting up our mappings and tamperings for our user feeds importer
    11. 2:34Importing our users and moving our user images over
  11. 55:00Formatting a Blog Entry Page
    1. 0:38Backing up our work (Backup 11)
    2. 3:15When to use the core blog module, and when to create your own from scratch
    3. 1:50Reviewing our blog content structure in a CSV file
    4. 3:11Creating our basic blog entry content type
    5. 6:03Adding a 'tags' field and image field to our blog entry content type
    6. 1:19Moving our blog images over to prepare for the feeds importer
    7. 2:09Verifying and adjusting our blog entry feeds importer settings
    8. 2:47Setting up our blog entry feeds importer mappings
    9. 2:30How to import multiple entries into a single field using the "explode" feeds tamper plugin
    10. 1:46Why to use multiple roles with fewer permissions, and why our import fails
    11. 1:41How to add a "blog contributor" role and assign roles to multiple users at once
    12. 1:37Importing and verifying our blog entry content
    13. 3:35Cleaning up the display of our blog entry display
    14. 2:01How we will approach building our "About the author" block
    15. 4:34How to set up basic settings and contextual filter for a node-based "About the author" view
    16. 3:28How to use Views "style settings" and displaying a username with a relationship
    17. 1:53Adding an image and bio field to our "About the author" view block
    18. 1:21How we will approach building the link to the author's web site
    19. 3:46How to rewrite the output of a Views field and combine multiple fields into one
    20. 4:48How to use hidden fields to add to other fields in Views and why you might need them
    21. 0:48Cleaning up an unneeded field and creating a backup (Backup 12)
  12. 40:47Custom Formatters and Creating an "About the Author" Block
    1. 2:33How custom formatters work, our use case, and installing the Custom Formatters module
    2. 1:57How to create a custom formatter with the Custom Formatters module
    3. 1:26How to use the Entity Tokens module to get access to more components for custom formatters
    4. 2:15How to use a custom formatter in a view and on the user profile page
    5. 1:38Why using custom formatters is a good idea, and possible exceptions
    6. 2:27Positioning our "About the author" block using the Context module
    7. 2:03How to install and configure the Admin module to work alongside other administrative modules
    8. 0:44The difference between using Admin and Administration Menu for navigating the menu system
    9. 1:57How to use Admin's Context Editor to position blocks from multiple contexts with drag-and-drop
    10. 1:07Overview of our next steps including re-creating our "About the author" block with Panels
    11. 1:10How to use selection rules in Panels to use variant on a single node type
    12. 2:16How to add a second panel page variant with selection rules as part of the wizard
    13. 2:27How to rewrite a panel pane to display the author name in heading tags
    14. 3:31How to add a relationship in Panels and how modules share concepts
    15. 2:36Adding our bio and homepage link, and how relationship-based substitution names work in Panels
    16. 0:35How to disable a Panels variant
    17. 3:32How to re-create our "About the author" block using a user-based view
    18. 1:22How to get node information in a user-based view using a relationship
    19. 2:02Adding the additional bio, image and homepage link to our user-based view
    20. 3:09Positioning our new "About the author" view block and making a backup (Backup 13)
  13. 25:05More Advanced Views (Aggregation and Relationships With Relationships)
    1. 2:10How to set up a "top tags" block using a taxonomy-based view
    2. 3:46How to add a relationship and turn on aggregation to allow a "count" field in our view
    3. 3:19How to display views fields inline and sort by aggregated count
    4. 0:58Positioning our "top tags" view block with Context
    5. 1:55How to set up an "Also by this author" view block
    6. 4:50How to use a relationship within another relationship in Views
    7. 4:00How to exclude the currently viewed node in a list of nodes using Views
    8. 1:47Positioning our "Also by this author" view block with Context
    9. 1:51How to create and position a "Latest blog entries" views block
    10. 0:29Backing up our work (Backup 14)
  14. 43:19Using Views to Create a Blog Home Page and Creating a Quick Sub-theme
    1. 2:46Why it sometimes makes sense to not make components re-usable
    2. 2:28How to fill out the Views wizard to start building a blog home page
    3. 2:56How to make a Views title a heading, and why we're going to build a sub-theme
    4. 2:19How to add an image and body field to a blog post in a view
    5. 3:14Two approaches we can take to rewriting the "submitted by" section of a post using Views
    6. 0:59How to add and position the 'username' part of our 'submitted by' area with Views
    7. 4:15How to use a custom date format in a Views 'post date' field
    8. 1:06Wrapping up the creation of our custom 'submitted by' Views content
    9. 3:06How the 'Add comment link' Views field is inflexible and why we'll need another approach
    10. 2:35How to create a custom comment count and "Add comment" button in Views
    11. 1:27How to point a custom "Add comment" Views link to the comment form
    12. 1:37Cleaning up our blog view and backing up our work (Backup 15)
    13. 3:21How to create a Bartik subtheme (bare bones version)
    14. 2:31How to add our sub-theme CSS file, enable the theme and adjust its settings
    15. 1:51Summary of steps we took to create a sub-theme
    16. 3:12How to add color selector integration into our Bartik sub-theme
    17. 2:21How to add a CSS class to a Views field and float an image to the right
    18. 1:15How to add a CSS class to a Views row and how the 'clearfix' class works
  15. 68:01Building a Slideshow Using Views Slideshow
    1. 1:00How we're going to approach building our slideshow
    2. 3:50How the Libraries and Views Slideshow modules work, and installing both
    3. 2:24How exposed filters and attachments work in Views
    4. 4:06About using multiple displays in a single view, and about our slideshow components
    5. 3:42How to set up the jQuery Cycle plugin for Views Slideshow
    6. 4:56About the "Cycle options" available in Views Slideshow
    7. 3:24How the pager and controls widget settings work in Views Slideshow
    8. 1:44What we need to do to complete our slideshow view
    9. 4:46Setting up our node display with custom image style for the slideshow
    10. 1:45How to add a views filter to show just nodes with images
    11. 4:02How to create a pager of thumbnail images in Views Slideshow
    12. 3:42How to display our Views Slideshow thumbnail pager inline
    13. 1:55How to add a border around an active pager item
    14. 2:27Fixing alignment, adding wireframe boxes and adding some spacing to our slideshow
    15. 4:53How to style a slideshow's next and previous buttons as images
    16. 3:26Why the Nodequeue module is so useful, and installing it
    17. 3:26How to create and modify a Nodequeue queue
    18. 2:00How to use a Nodequeue queue in a view to filter nodes
    19. 1:28How we're going to hide the slideshow on every page but the first one
    20. 4:10How to use a contextual filter to show a Views attachment display only on the first page
    21. 0:51Backing up our work (Backup 16)
    22. 4:04Overview of additional slideshow-related modules
  16. 45:09Working With Comments
    1. 3:23The 3 levels of comment security
    2. 0:41About spam protection on other forms, including the user registration form
    3. 2:51What questions to ask clients (or yourself) before setting up commenting
    4. 2:29How to set up permissions to allow anonymous users to post comments and what's coming up
    5. 2:04What a CAPTCHA is and how to install the CAPTCHA module
    6. 4:23How to configure the CAPTCHA module and enable it on multiple forms
    7. 2:59How to configure an image CAPTCHA
    8. 0:56How to allow authenticated users to bypass a CAPTCHA
    9. 2:32What reCAPTCHA is and installing the module
    10. 3:25How to configure reCAPTCHA with public and private keys, and setting a theme
    11. 2:03How the "honeypot" and "timegate" methods work for preventing bot-generated spam
    12. 3:56How to install and configure the Honeypot module
    13. 1:12How to disable the user registration form
    14. 0:28Backing up our work (Backup 17)
    15. 1:59How Mollom works for spam protection, and installing the module
    16. 4:42How to configure Mollom
    17. 4:16How to configure Mollom to protect our comment form and running some spam tests
    18. 0:50A quick summary of the spam protection tools and techniques we used


Add to playlist

Add to , or

Add to new playlist:

Add to playlist
This is a member-only feature
But, it's easy to become a member

Add to cart:

Add to playlist

Add to , or

Add to new playlist:

Add to playlist
Contact us

Below are the supported keyboard shortcuts for our video player.

Start / stop video
Go to next video
Go to previous video
Increase or decrease player speed by 20%
Skip ahead or go back by 15 seconds
Jump to a percentage (2 is 20%, for example)
Toggle full screen
Videos Pricing More Search
BuildAModule Logo Icon BuildAModule Logo Icon
Become a member!
1 month
6 months
10% off
12 months
20% off
All memberships come with the following:
24 / 7 access to the entire 1800+ video library
An innovative video player with a rolling transcript
Extensive Drupal and cross-platform training
A thorough and thoughtful training style
Progress tracking
Take notes on specific video sections
Intuitive multi-user management
How many users?
Go solo with a single user, or give multiple team members access through one account and get discounts by bundling multiple users into a single membership.