Using Display Suite in Drupal 8: How to Use Switch View Mode Sub-module

In this tutorial series on using Display Suite, we’ve cover the two fundamental use-cases of the module: how to modify layouts and use Display Suite fields.

Now we’ll take a closer look at one of its sub-modules: “Display Suite Switch View Mode”.

The “Display Suite Switch View Mode” module allows an editor to switch which view mode is used on a content page. By default, Drupal will use the “Full content” view mode (if enabled) on content page, i.e., “node/1”.

But what if you want to choose between two different “Full content” view modes? Well this module has you covered.

So instead of being stuck with a single view mode, you could have one for a layout with a sidebar and another for pages with go full width.

In this tutorial, you’ll learn how to configure and use the”Display Suite Switch View Mode sub-module.

Introduction to the Paragraphs Module in Drupal 8

The Paragraphs module allows you to implement component based designs in Drupal.

A site builder can use the module to create components (paragraph types) for elements such as a hero image, banners or an image gallery.

Then instead of an editor adding content into a single body field, they could build a page using paragraph types.

I’ve written a fair bit about Paragraphs but they focused on advanced topics such as “How to Create Powerful Container Paragraphs in Drupal 8” and “Display Paragraphs Edge-to-edge using Bootstrap in Drupal 8”.

However, until now I never had a video about Paragraphs. A video is the best way to demonstrate the real power of the module.

New Course Section: Carousel Paragraph Type

I’m happy to announce that a new section has been published on the “Build Edge-to-edge Sites using Paragraphs in Drupal 8“ course over at WebWash Courses. The new section will teach you how to display Bootstrap carousel using Paragraphs. You’ll begin by creating two new paragraph types: carousel and slide. Then you’ll add some custom code to …

New Course Section: Carousel Paragraph TypeRead More »

Using Display Suite in Drupal 8: How to Use Display Suite Fields

In the previous tutorial, you learnt how to customize content pages by using a Display Suite layout. Today, I want to show you how to use Display Suite fields.

Display Suite fields shouldn’t be confused with the standard field system. The best way to think of a field in Display Suite is as just a fancy formatter. The field will only render content.

You can’t use it to store values or define a widget like you can with the standard field system.

You’ve already seen this fields in action. If you select a layout you’ll notice a bunch of new fields appear.

These are Display Suite fields which are implemented by the module.

A field can be created in two fields: in code or through the Display Suite user interface (UI).

Today we’ll look at how to create fields using the Display Suite UI. In a future tutorial, you’ll learn how to implement a field in code.

Using Display Suite in Drupal 8: How to Customize Content Pages

You’ve just installed a fresh Drupal 8 website, created a few content types and attached fields to them. So far so good.

Now you want to customize the content pages. On the “Manage display” page you can re-order fields and disable them but you can’t move them into any type of region.

Display Suite enhances the “Manage display” page by offering a drag-and-drop interface for fields.

You can select different layouts and each layout has its own set of regions. The drag-and-drop interface then is used to move fields into these regions, all without writing a single line of code.

The real benefit in using Display Suite is you always have a standard workflow for modifying content pages.

If you’re working in a team, this is even more important; you want to standardize how entity types are customized. Or you’ll end up in a situation where each developer does things their own way.

How to Make Fields Persistent in Drupal 8

I wrote a custom module recently where I needed to programmatically attach a field; similar to how a Body field gets added to content types.

If you create a content type, via the “Content types” page, a Body field is automatically added to the content type. If you don’t need the field just delete it, but the default functionality is to have it added.

I wanted this same functionality in my custom module; when an entity is created a field is programmatically attached to it.

So I reverse engineered how the Body gets added to content types. In the Node module, the Body field is exported as and the field is attached using the node_add_body_field function.

How to Print Variables using Kint in Drupal 8

While developing a module or modifying a template in Drupal you’ll often print variables, especially if you’re in a preprocess hook.

You learn early on how to use var_dump and print_r function. But these functions can sometimes display too much information and can be hard to filter through the arrays or methods in the variable.

In Drupal 7, with the Devel module, you could use the dpm or dsm function. When used, these functions will print variables at the top of the page or in the message area using Krumo.

Now in Drupal 8, Devel has adopted a new library to print variables and it’s called Kint.

Debug Site Performance Using Web Profiler in Drupal 8

In the beginning of any Drupal project the site loads very quickly because there aren’t many modules installed. But as you add modules, the performance of the site will become slower and slower.

There’s always a certain point in the project where you realize it’s time to look at the problem and see if it’s a rogue module or some dodgy code, we’ve all seen this.

Trying to debug a performance issue can be tedious work. But often, it comes down to having too many queries loaded on a page.

If you’re on Drupal 7, just enable query logging using the Devel module. This will show all the queries generated at the bottom of the page.

But for Drupal 8 we have something better: Web Profiler.

New Videos: Banner Paragraph Type

I’m happy to announce that a new section has been published on our “Build Edge-to-edge Sites using Paragraphs in Drupal 8” course over at WebWash Courses.

The latest section will teach you how to create a Banner paragraph type. The paragraph is great for displaying images full width and can be used to display text with an image as a background.

In this section, you’ll learn the following:

  • How to nest paragraphs and create a container paragraph type
  • Learn about the Color Field module
  • Learn how to resize an image using image styles within a preprocess

The next section currently in the works will teach you how to display a Bootstrap Carousel.

Presentation: Search in Drupal 8

At this month’s Sydney Drupal meet up I did a presentation about Search in Drupal 8. In the video, I explain three ways you can create a search page, they are as follows.

1. Core Search

The core Search module which comes with Drupal has some new functionality in Drupal 8. The biggest change is the ability to create custom search pages without using any other module.

2. Views Filter

A common way to build search pages in Drupal 7 was to create a views page and use the “Search Keywords” filter in views. This can still be done in Drupal 8 and best of all Views is now part of core.

3. Search API

The Search API module is used to create powerful search pages and it’s highly extensible. It is the module to learn and use for building search pages.