To say that there is not an agreement of using large language models (LLMs) for Drupal development would be an understatement. I've been using Claude Code for a while to assits with my Drupal development and I shared a month ago how I brought back the Drupal 7 module upgrader tool from the dead. That was a bit of an involved example, so I wanted to find a simpler one and this time rely even more on Claude.
12 Apr 2026
Drupal.org aggregator
#! code: Drupal 11: Creating A Tabbed Interface With HTMX
This is part three of a series of articles looking at HTMX in Drupal. Last time I looked at using HTMX to run a "load more" feature on a Drupal page. Before moving onto looking at forms I thought a final example of using HTMX and controllers to achieve an action.
One of the key examples that helped me understand HTMX was when it was used to create a tabbed interface, without reloading the page. This was quite simple to recreate in Drupal and can be done in a single controller.
In this article we will be creating a tabbed interface in Drupal, where HTMX is used to power loading the data in a tab like interface without reloading the page.
All of the code contained in this article can be found in the Drupal HTMX examples project on GitHub, but here we will go through what the code does and what actions it performs to generate content.
The first task is to create the route for our controller.
The Route
The route we create here just points to an action in a controller.
drupal_htmx_examples_tabbed:
path: '/drupal-htmx-examples/tabbed'
defaults:
_title: 'HTMX Tabbed'
_controller: '\Drupal\drupal_htmx_examples\Controller\TabbedController::action'
requirements:
_permission: 'access content'
When the user (assuming they have the access content permission) visits the path /drupal-htmx-examples/tabbed then they will trigger the action() method in the controller.
Let's build the controller that this route points to.
12 Apr 2026 6:14pm GMT
Symfony Blog
A Week of Symfony #1006 (April 6–12, 2026)
This week, the upcoming Symfony 8.1 version introduced ServicesBundle and ConsoleBundle as a first step in splitting FrameworkBundle into smaller, standalone bundles. In addition, we released Symfony Polyfill 1.34.0, which covers features from PHP 8.4, 8.5,…
12 Apr 2026 7:36am GMT
11 Apr 2026
Symfony Blog
Symfony Polyfill 1.34.0 released
Symfony Polyfill 1.34.0 ships ten new polyfills that cover features from PHP 8.4, 8.5, and 8.6, along with a new polyfill for the deepclone Symfony PHP extension. This release lets you write forward-compatible code against upcoming PHP APIs while still running…
11 Apr 2026 8:33am GMT
10 Apr 2026
Symfony Blog
SymfonyLive Berlin 2026: “Symfony AI-Mate.”
We're excited to announce that SymfonyLive Berlin 2026 will take place April 23-24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport. Before the conference,…
10 Apr 2026 9:25am GMT
Drupal.org aggregator
Gábor Hojtsy: Solving a small Drupal issue with plenty added tests: most basic Claude Code setup, without writing a single line of code, issue commentary or commit message myself
Solving a small Drupal issue with plenty added tests: most basic Claude Code setup, without writing a single line of code, issue commentary or commit message myself
10 Apr 2026 9:20am GMT
09 Apr 2026
Drupal.org aggregator
mark.ie: Introducing LocalGov Bus Data: Bringing Bus Information into Your Council Website
Introducing LocalGov Bus Data: Bringing Bus Information into Your Council Website
We're excited to announce the release of LocalGov Bus Data - a new Drupal module built with and for councils, now available for the entire local government community to use.
09 Apr 2026 8:00pm GMT