04 Feb 2026
Drupal.org aggregator
Centarro: Any Drupal Commerce Site Can Have a B2B Portal
Drupal Commerce lets you serve both retail customers and business buyers from a single installation. Same products. Shared checkout flow. Same user experience-just adapted to the relationship. Different users can see different prices, payment options, and catalogs.
You don't need a separate platform. You don't need a different domain. You don't need another way to manage content. Drupal Commerce already has the tools to support both B2C and B2B on the same website, using the same codebase, delivering a unified experience to all of your customers.
Even better, you can build a B2B portal in Drupal without any code. The capabilities are already there in existing features and modules.
On February 26th, I'll show you how to do it. We'll walk through building a B2B purchasing portal using Commerce Kickstart as a base. Sign up now.
04 Feb 2026 2:16pm GMT
Gbyte blog: Mail Composer: Sending multilingual HTML emails with Drupal
A new solution to Drupal's messy mailing approach
Drupal core's mail module has been a mess for a long time and has seemingly not kept up with the modernization of the rest of the stack. Using the hook system to send emails feels archaic; therefore, a while ago, we started developing a module that:
- Allows for defining emails in code via a clean and powerful (chaining) object-oriented interface
- Supports sending HTML emails without any fuss
- Optionally allows for defining (HTML) emails as Twig templates
- Allows for translating said emails by simply adding more Twig templates in different languages (multilingual capabilities)
- Integrates with Drupal's default framework for email manipulation, which handles the transporting and formatting of outgoing emails
- Can be used as the backend for bespoke UI-driven mailing solutions
We have been using and improving Mail Composer and would love for that work to be reused and further built upon.
Let's talk code
Just sending an inline email
... is as simple as:
/** @var \Drupal\mail_composer\Manager $manager */
$manager = \Drupal::service('mail_composer.manager');
$manager
->compose()
->setFrom('foobar@foo.bar')
->setTo('foo@bar.bar')
->setSubject('Test subject')
->setBody(['This is the body of the email.'])
->send();
Neat, isn't it?
04 Feb 2026 2:09pm GMT
1xINTERNET blog: An international upbringing that quietly set the stage for the future
A close look at Charles Andrew Revkin: how an international upbringing quietly shaped a digital leader at UICC and his impact on global cancer initiatives.
04 Feb 2026 12:00pm GMT
01 Feb 2026
Symfony Blog
A Week of Symfony #996 (January 26 – February 1, 2026)
This week, development activity focused on adding new features to the upcoming Symfony 8.1 version. Meanwhile, we published 5.4.51, 6.4.33, 7.3.11, 7.4.5, and 8.0.5 versions to address a potential security vulnerability. Finally, we published an article about…
01 Feb 2026 8:37am GMT
30 Jan 2026
Symfony Blog
Hardening Symfony: Recent Security Improvements
Security is a never-ending journey. While Symfony takes security vulnerabilities seriously and follows a well-defined process for handling them, there's another category of improvements that doesn't get as much attention: security hardening. These are changes…
30 Jan 2026 8:11am GMT
28 Jan 2026
Symfony Blog
CVE-2026-24739: Incorrect argument escaping under MSYS2/Git Bash on Windows can lead to destructive file operations
Affected versions Symfony versions <5.4.51, >=6.4, <6.4.33, >=7.3, <7.3.11, >=7.4, <7.4.5, >= 8.0, <8.0.5 of the Symfony Process component are affected by this security issue. The issue has been fixed in Symfony 5.4.51, 6.4.33, 7.3.11, 7.4.5,…
28 Jan 2026 11:04am GMT