Drupalwoo ☉

News

TitleDateExcerpt
Set up environment indicators for DrupalEnvironment indicators make the active Drupal environment visible before an editor creates content, changes configuration or approves a release. A clear…
Custom Drupal API key authenticationAPI access lets a Drupal site exchange data with an ERP, a headless front end, a warehouse system or a partner portal. For an Australian retailer, the path…
Real-time notifications in Drupal with WebSocketsDrupal sites often begin with email, polling, or a page refresh to signal that content, comments, orders, or moderation items have changed. Those approaches…
Using Drupal’s link field for internal and external URLsA Drupal editor rarely needs to know whether a destination sits inside the current website. They should be able to write “Read the grant guide” and choose the…
Building a Custom Drupal Drush Command for Configuration SynchronisationDrupal configuration can be exported, reviewed in Git, and imported between environments with Drush. That workflow is reliable for routine deployments, but…
Integrating Drupal with Google Analytics 4 using custom codeGoogle Analytics 4 (GA4) can give a Drupal site a clear view of visits, search traffic, content engagement and conversion paths. A contributed module is…
Creating a custom Drupal block with contextual visibilityDrupal blocks are reusable units of page content that can be placed in theme regions, including headers, sidebars, and footers. A useful block should carry its…
Adding user points and badges to DrupalGamification in Drupal means rewarding useful participation with a points balance, achievement badges or both. User points can acknowledge consistent…
Advanced Drupal templating with Twig extensionsTwig gives Drupal a template layer that separates content processing from presentation. In Drupal 10 and 11, templates can use built-in filters, Twig functions…
Build a custom Drupal route and controllerA custom Drupal route gives a site a predictable URL and a controlled way to reach application code. Instead of tying a page to a content type or a contributed…