Skip to main content
Drupal code

Main navigation

  • Home
  • Snippets
User account menu
  • Log in
By admin , 21 July, 2026

How to Stop Drupal Views from Automatically Scrolling to Content on AJAX Refresh

By default, when a user applies an exposed filter in a Drupal View with AJAX enabled, the page automatically jumps or scrolls directly to the top of the View content. While intended to help, this behavior can often disrupt the user experience.

If you want to keep your users exactly where they are without any forced movement, you can intercept and remove the scroll command before it reaches the browser. Implementing hook_ajax_render_alter() allows you to find the scrollTop command in the AJAX data array and unset it.

Tags

  • views
  • ajax
By admin , 29 May, 2026

Custom button to (admin) toolbar

/**
* Implements hook_toolbar().
*/
function MYMODULE_toolbar() {
 $items = [];
 $deploying_domains_count = \Drupal::service('MYMODULE.service')->getDeploingDomains();
 $items['deploying_domains'] = [
   '#type' => 'toolbar_item',
   

Tags

  • toolbar
By admin , 28 May, 2026

Drupal webprofiler: collect time metrics

To enable the collection of time metrics, you need to add this line to the settings.php file:

$settings['tracer_plugin'] = 'stopwatch_tracer';

Tags

  • webprofiler
By admin , 26 March, 2026

Node form field validation

/**
 * Implements hook_entity_bundle_field_info_alter().
 */
#[Hook('entity_bundle_field_info_alter')]
public function entityBundleFieldInfoAlter(&$fields, EntityTypeInterface $entity_type, $bundle) {
  if ($entity_type->id() === 'node' &&

Tags

  • validation
  • form
By admin , 23 March, 2026

Disabling "Source Editing Redundant Tags Constraint Validator" 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

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(20) views(16) 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) ajax(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) photoswipe(2) permissions(2) logger(2) vscode(2) suggestions(2) states(2) title(2) fieldset(2) mysql(2) weight(1) toolbar(1) webprofiler(1) validation(1) 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