O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Drupal 8 Blueprints

Book Description

A project-based guide that will show you how to create 7 professional Drupal sites

About This Book

  • Create and design your own customized website effortlessly and efficiently
  • This up-to-date guide on Drupal 8 will show you how you can leverage the latest Drupal 8 features
  • This hands-on guide will turn you into a professional grade Drupal 8 developer through 7 unique and engaging web sites

Who This Book Is For

This book is ideal for web developers who are looking to create professional web applications using Drupal 8. You should have some previous experience with Drupal and must have a basic knowledge of web application development in general. If you are looking to create fluent professional websites that will take you to the next level, then this book is for you.

What You Will Learn

  • Find out how to use the Drupal 8 core functionality to build great websites
  • Discover how to better manage content using custom blocks and views
  • Display content in multiple ways, taking advantage of display modes
  • Using the new TWIG theme engine for Drupal
  • Easily manage and filter content
  • Understanding best practices for building great Drupal sites
  • Move beyond Drupal to build headless websites using RESTful services and JavaScript frameworks

In Detail

Drupal is an open source content management framework that can be used for developing websites and simplifying online management of content for users.

This book is a must-have for web developers who are looking to create professional-grade websites using Drupal 8. While building 7 different Drupal websites, we will focus on implementing the out of the box features that come with Drupal 8 and see how we can make some complex sites with minimal custom code.

Focusing completely on Drupal 8, this book will help you leverage the new Drupal 8 features such as creating a different types and layouts of content using configuration to build in core with its built-in web services facilities, and effortless authoring using the new CKEditor with an effortless and efficient industry standard approach.

The book starts with getting started with the development environment of Drupal. Each chapter will start with a brief overview of the site to be built and the required features. Then, we will proceed to create customized modules and themes and integrate third-party plugins. Lastly, you will learn about "headless" Drupal that uses RESTful services that would help you to display content outside of Drupal

By the end of the book, you will be able to implement the knowledge gained to build your own custom websites using Drupal 8.

Style and approach

This unique, project-based resource on Drupal 8 website development will show you how to leverage Drupal 8's features to create customized, professional-grade applications efficiently and effectively.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the color images of this book 
      2. Errata
      3. Piracy
      4. Questions
  2. Introduction and Getting Set Up
    1. Setting up for local development
      1. Setting up on Windows
      2. Setting up on macOS
        1. What is SSH?
        2. Our great development tools for macOS
          1. Homebrew
          2. iTerm
          3. Oh My Zsh
      3. Setting up our local development environment
        1. Native
        2. Acquia DevDesktop
        3. Vagrant
        4. Docker
      4. Terminology
      5. Drush and Drupal Console
      6. Installing Drupal
      7. Getting our basic site
        1. Drupal core structure
        2. Downloading modules and themes
        3. Using themes
          1. blueprint.info.yml
      8. Getting involved with Drupal
      9. Let's get Drupal started!
  3. Telling Your Own Story with Drupal
    1. Creating the Post content type
      1. Creating our fields
      2. Adding our fields
      3. Adding taxonomy vocabulary
      4. Adding fields to our vocabulary
      5. Adding more fields
      6. Creating content
      7. Creating our view modes
        1. What we will need to do
        2. How's it done
        3. Customizing our Post
      8. Displaying content with views
      9. Understanding views
      10. Using blocks a brief overview
        1. Block admin UI
        2. How it's done
        3. Adding our block
        4. Adding a block
      11. Relating content
        1. What we will do
        2. Adding our entity reference field
        3. How it works
        4. Creating a related news block
        5. Using Contextual filters
        6. Previewing content
        7. Using relationships to show content
        8. Adding our new block to our Post content type
      12. Making our display look better
      13. Adding comments
        1. How do comments work
        2. Comment types
        3. What this means for us
        4. Attaching comments
        5. Moderation
          1. Permissions
      14. Listing and filtering content
        1. Exposed filters
      15. Restricting content by role
        1. How to do it
        2. Adding restricted content to views
      16. Editing content
      17. Moving to the frontend
        1. Adding CSS and JavaScript
    2. Summary
  4. Get Fundraising with Drupal
    1. What will we learn?
      1. Getting started
      2. Creating our fundraising pages
        1. Donation content type
        2. Fundraising content type
      3. Registering users
        1. Account settings
      4. Creating our users
        1. Authenticated users
      5. Building the fundraising page
      6. Creating a dashboard
        1. Understanding view field settings
      7. Showing user's their content
      8. Allowing users to donate
        1. What we will do
        2. How modules work
          1. Structure of a module
        3. Creating our module
        4. donate.info.yml
        5. What we need
        6. How we do it
        7. Creating a block
          1. Annotations
      9. Creating a node programmatically
        1. $form state object
      10. Sending emails
        1. donate.module
      11. Donation progress bar
        1. donation_progressinfo.yml
        2. DonateRangeBlock.php
        3. DonateRangeBlock.php
      12. Theming our plugin
        1. DonateRangeBlock.php
        2. donate-range.html.twig
        3. Finishing off
        4. DonateRangeBlock.php
        5. donate-range.html.twig
        6. DonateForm.php
  5. Recruit Using Drupal
    1. Getting started
      1. What is Composer?
        1. Using Composer with Drupal
      2. What we need
      3. Creating user registration pages
        1. Candidate role
      4. Using Webform
      5. Creating our job
        1. Jobs module
          1. jobs.info.yml
          2. jobs.module
      6. What we have done
      7. Almost there
        1. Dashboards for Recruiter
      8. Job search
    2. Summary
  6. List Properties with Drupal
    1. Getting prepared
      1. Cleaning up
      2. Adding our Property
      3. Enhancing our content
        1. Display Suite
      4. Adding custom fields to our display
      5. Property search
        1. Generate dummy content
        2. Property search
          1. Exposed filters as a block
      6. Administer our properties
      7. SEO-friendly paths
    2. Summary
  7. Express Your Event with Drupal
    1. Getting started
      1. Creating our user roles
      2. Creating our session
        1. Time and date
        2. Room
        3. Skill level
        4. Tracks
        5. Entity reference fields
      3. Restricting fields
      4. Managing permissions
      5. User dashboard
      6. User creation
      7. User fields
      8. Session submissions
        1. event_speaker.info.yml
        2. event_speaker.module
      9. Session management
      10. Session display
        1. Session sharing
      11. Attendees
    2. Summary
  8. Get Teaching with Drupal
    1. Getting started
      1. Categorizing our Lessons
      2. Video embed
      3. Using Panels
        1. Using variants
        2. Harnessing the power of variants
      4. Organizing our Lessons
        1. Creating a listing of Lessons
    2. Summary
  9. Go Static with Drupal
    1. Getting started
      1. What is REST?
      2. How does it work in Drupal?
      3. Exposing Drupal using REST API
        1. Filter endpoint dynamically
      4. Let's go React
        1. Getting ready for React
          1. Creating our frontend
    2. Summary
      1. There's more in core
      2. One last thing