Skip to main content
Drupal code

Main navigation

  • Home
  • Snippets
User account menu
  • Log in
By admin , 23 March, 2026

Disabling SourceEditingRedundantTagsConstraintValidator in Drupal 11

When working with CKEditor 5 Source Editing in Drupal 11, you might run into validation errors caused by the SourceEditingRedundantTagsConstraintValidator. This validator prevents saving HTML that Drupal considers redundant or not allowed.

In some cases, you may want to disable this validation entirely — for example, when you need more control over the markup or are handling validation elsewhere.

The cleanest way to do this is by overriding the validator service.

In your custom module, add the following to my_module.services.yml:

Tags

  • CKEditor
  • Constraint
By admin , 20 March, 2026

Check the PHP code for compatibility with a specific PHP version

php vendor/bin/phpcs -p ./web/modules/custom/ --standard=PHPCompatibility --extensions=module/php,inc/php,install/php,php/php --runtime-set testVersion 8.4

Tags

  • phpcs
  • php
By admin , 17 March, 2026

Set submit function when OOP hooks

$form['#submit'][] = static::class . ':settingsFormSubmit';

Tags

  • hook
By admin , 4 February, 2026

PHPStorm: docker client version 1.24 is too old

After another Docker update on Kubuntu 24.04, PhpStorm started throwing an error

Tags

  • phpstorm
  • docker
By admin , 20 January, 2026

Command from custom DrushCommands file don't recognized (drush 13)

I generated a simple DrushCommands file with drush gen drush:command-file and added custom DI. After clearing the cache, my command is not recognized.

The issue lies in my DI service. Needs to set up service autowiring or use #[Autowire(service: 'SERVICE_NAME')].

Tags

  • drush
By admin , 19 November, 2025

Run Drupal Gitlab CI locally

  1. Install gitlab-ci-local
  2. Add alias 

Tags

  • gitlab
  • ci-cd
  • phpunit
By admin , 11 November, 2025

Hide comment field from node teasers in functional tests

/** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_form_display */
$entity_form_display = \Drupal::service('entity_display.repository');
$display = $entity_form_display->getViewDisplay('node', 'blog', 'teaser');
$display->removeComponent('comment_forum');
$display->save();

Tags

  • comment
  • field
  • phpunit
By admin , 18 October, 2025

Kernel test example for TwigExtension function

<?php

declare(strict_types=1);

namespace Drupal\Tests\MYMODULE\Kernel;

use Drupal\Core\Render\Markup;

Tags

  • tests
  • twig
By admin , 18 October, 2025

Views: two contextual filters with "OR"

By default views is using "AND"

Tags

  • views
By admin , 18 October, 2025

Docksal: access to local network (connect to LM Studio)

Add to project docksal.yml

Tags

  • docker
  • docksal

Pagination

  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Page 8
  • Page 9
  • …
  • Next page
  • Last page

Tags Cloud

dependency injection(21) form(19) views(15) drush(15) twig(13) field(12) preprocess(10) comment(7) render(7) node(7) translate(7) tabs(7) controller(6) phpstorm(6) file(6) phpunit(5) entity(5) config(5) entityTypeManager(5) routes(5) database(4) php(4) jquery(4) service(4) roles(4) commerce(3) image(3) date(3) entityQuery(3) cache(3) slick(3) block(3) custom entity(3) javascript(3) user(3) taxonomy(3) guzzle(3) redirect(3) url(3) docker(2) git(2) request(2) phpstan(2) event(2) template(2) module(2) schema(2) migration(2) libraries(2) access(2) drupal.org(2) tests(2) ajax(2) photoswipe(2) permissions(2) logger(2) vscode(2) suggestions(2) states(2) title(2) fieldset(2) mysql(2) Constraint(1) CKEditor(1) phpcs(1) hook(1) ci-cd(1) gitlab(1) docksal(1) revision(1) filter(1) attribute(1) service provider(1) csv(1) PHPDoc(1) table(1) eslint(1) array(1) deprecation(1) theme(1) errors(1) wsod(1) settings.php(1) watchdog(1) pager(1) widget(1) file.usage(1) queue(1) exif(1) imagemagick(1) media(1) uuid(1) renderer(1) exposed form(1) page manager(1) transliteration(1) random(1) development(1) mail(1) webform(1) register(1) textarea(1) label(1) input(1) batch(1) import(1) messenger(1)
RSS feed
Powered by Drupal