You are here


Posted Aug 4, 2020

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 hook_theme_suggestions_page_alter(). */function THEMENAME_theme_suggestions_page_alter(array &$suggestions,...

Tags: Drupal 8, template suggestions, Commerce, theming

read more

Posted Jun 1, 2020

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 create a view of Users Which one you choose depends on your use case. For example, I needed to show...

Tags: Drupal 8, Group, views, related content, users, members

read more

Posted May 19, 2020

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. Here's how to format a Views exposed filter of Group titles as a select list populated with the names...

Tags: Drupal 8, views, exposed filters, select lists, Groups

read more

Posted Jan 14, 2020

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 this solution might be useful for someone else. Note that this assumes you're starting from a View of...

Tags: Drupal 8, Groups, views, related content

read more

Posted Oct 9, 2019

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 to create a search facility. Assistive technology users can navigate by page landmarks if they are...

Tags: accessibility, search, landmarks, aria

read more

Posted Oct 3, 2019

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 contact information displaying in each row of the View. Therefore, I wanted to display a block above the...

Tags: Drupal 8, views, how to

read more

Posted Oct 2, 2019

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. This pattern was on Ravelry, but as I'm no longer on Ravelry I thought I'd upload it here for anyone who might go looking for it. 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


read more

Posted Sep 23, 2019

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 calculate the total registration fee by getting the data from the chosen radio option for each attendee and...

Tags: Drupal 8, Webform, twig, calculated field

read more

Posted Jul 11, 2019

I've been maintaining or building websites since September of 1999. At the time of this writing, that's almost 20 years. One of my main focuses as a web developer is usability/accessibility—making the sites I build intuitive, easy to understand and operate, and accessible to all users, including those with disabilities, as much as possible. Those things are super important to me. But why? Part of it, I suppose, is altruism. But part is also this: the fact that I'm a web developer doesn't...

Tags: thoughts, accessibility, usability, design

read more

Posted Jun 7, 2019

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 to display the items on the front page, and we have a Homepage content type with an entity reference...

Tags: Drupal 8, views, how to, featured

read more