Theme colour switcher

Blog

By default you get the following page template suggestions for a Commerce product: page--product--[ID].html.twig page--product--%.html.twig page--product.html.twig page.html.twig Here's a template suggestion for custom page templates per product type: /**  * Add page templates for Commerce product types  * Example: page--product--event.html.twig  *//** * Implements…

Continue reading Drupal 8 theme suggestion for Commerce product page template per product type

I previously wrote about how to create a View of content from a Group that a user is a member of. For another site, I have to show a list of other members in the same group on user profiles. Another common use case might be showing a logged-in user a list of other members in his/her group(s). You can do this two ways: Create a View of Group Content of type [Group name]: Group membership or…

Continue reading Create a View of other members of a Group - Drupal 8

Drupal has gotten so much more powerful and easy to work with, but there are still a few things that are missing that seem like they should be a given. Such as, the ability to format certain Views exposed filters, like node titles or Group names, as dropdown select lists rather than an empty textfield that requires the user to know what the possible options might be instead of presenting them.…

Continue reading Group names as Views exposed filter select list - Drupal 8

The Group module is a powerful one I turn to often when a site has a requirement for groups of users who should have specific permissions, access to edit or view specific content, etc. A common requirement is to show a list of content belonging to the Group(s) a user is member of, using Views. That isn't as straightforward as it seems. I recently had to do this and struggled a bit, so thought…

Continue reading Create a View of content from Groups a user is member of - Drupal 8

I've worked on several sites recently where the site search form is hidden by default and displayed by activating a button. This pattern caused me a bit of confusion about where to put the role="search" attribute, which is important for accessibility. According to the W3C specification the search role is: A landmark region that contains a collection of items and objects that, as a whole, combine…

Continue reading Accessibility: where to put the search role when your search form is hidden

I'm working on a website which has a list of products, displayed in a View. Each product has an "provider" who produces it, associated with the product content type by an entity reference field to a Provider content type and displayed in the view. The client wanted contact information for the providers to show up in the list as well. It would have been a bit bulky and repetitive to have the…

Continue reading Show complementary information in a View based on exposed filter choice - Drupal 8

Hatticus is a fun, cabled hat with a pointed top and pom-pom knit in super-bulky yarn. Due to the giant yarn and needles, it's a super-fast knit. Feel free to leave a comment here or send me a message with any questions or corrections. Happy knitting! Hatticus: Free Super Bulky Cabled Knit Hat Pattern (PDF)

Continue reading Hatticus: Free super-bulky cabled knit hat pattern

Recently, I was creating an event registration Webform. I created a custom composite field with the fields needed for each registrant: first name, last name, and a set of three radio options for their organization status: member, non-member, membership fee included in event registration. Each status has a different registration fee. I then wanted to create a computed Twig field that would…

Continue reading Calculate a value from options field in Webform custom composite element with Twig - Drupal 8

A common pattern for websites is a list of content, for example news, with one (or more) featured items, followed by a list of a few more items, excluding the featured one(s). This seems like it should be simple to do, but it's not as straightforward as it seems. Here's an example of how to achieve it with Views in Drupal 8. There are many ways of flagging featured content. In this case, we want…

Continue reading How to create a View with a featured item and a list that excludes the featured item, Drupal 8

(Also see my post on how to get individual values from Smart Date fields). I've been working on a site with events, and tearing my hair out over how to print formatted dates with the correct timezone value in Twig templates, specifically node.html.twig and views-view-fields.html.twig. The issue was first, getting the formatted date to display in the template; and secondly, when I managed to get…

Continue reading Print formatted date with correct timezone from datetime or daterange field in node and Views templates - Drupal 8