Drupal 8, 9 & 10 advanced module development guide
Learn all the advanced concepts of Drupal
In this hands-on course, an offer software where users are able to create offers and place bids will be created. The course builds further on the course "Drupal 8 & 9 module development: start with custom entities" but can be taken individually as well. Please read the table of contents (bottom of this page) to know what to expect!
- Start Code and end code available, PDF with text per chapter
- This is the best resource for custom module development with Drupal 8, 9, or 10.
- Advanced topics like custom entities, entity forms, access control, events, caching, workflows, and many more are discussed while building an actual software platform
- After the course, you’ll be able to build robust and scalable software solutions of many kinds.
What you'll learn
- Programmatic database actions on custom entities: insert / update / reference / delete
- Validate entity submission with constraints
- Save a revision of an entity, compare a numeric value with its previous value
- Add menu items in code with Menu Plugin and a dynamic counter
- Create a block plugin and use dependency injection to load in the current entity
- Set up and use advanced core caching mechanisms like cache tags and cache contexts
- Delete an entity with a core dialog while staying on the same page
Stef Van Looveren has more than 10 years of expertise with Drupal.
I’ve been around the drupal ecosystem for ten years and have supported it in many ways: code contributing, blogging, sharing solutions on DrupalAnswers, and attending conferences. With this course, I share almost all of the knowledge I’ve built up so far since using Drupal 8 and 9.
My message is: "It struck me that there are so few good learning paths for drupal. With this course, I try to fill the gap. I gave it my best and I hope you will enjoy it!"
Drupal 8, 9 & 10 advanced module development guide
(click the arrow to see the full table of contents)
- 1.1 Add dynamic menu links with Menu Pugins (10:41)
- 1.2 Adding a bidding block with dependency injection (19:35)
- 1.3 Enhancing the layout of the framework (5:41)
- 1.4 Adding a code-only bid entity (6:37)
- 1.5 Saving the bid entities on form submission (4:11)
- 1.6 Form validation based on highest bids (11:37)
- 1.7 Adding dynamic variables to the entity teasers (8:05)
- 1.8 Validate entity submission with constraints (12:03)
- 1.9 Displaying all bids in a dynamically rendered table (13:39)
- 1.10 Integrating the core revisioning system to raise a bid (28:15)
- 1.12 Deleting a bid with a core dialog pop-up (17:47)
- 1.13 User notifications on transition events (13:10)
- 1.14 update entire view with an ajax callback (21:49)
- 1.15 OO in practice - deletion of entities depending on each other (6:18)
- 1.16 Caching in-depth intro (4:06)
- 1.17 Caching of views pages (4:55)
- 1.18 Caching of custom entity pages (10:58)
- 1.19 Use of cacheable dependencies in render arrays (7:13)
- 1.20 Invalidate cache of a referenced entity (6:49)
- 1.21 Cache menu items with a custom cache tag (10:46)
- 1.22 Using the Middleware API to create a http filter for user redirection (12:50)
- 1.23 Customize the user registration process with a RouteSubscriber (12:37)