I hope you take something away...

If you do please leave something for me :)

Simple Ajax call with Drupal 8

Problem

I want to add a link to my content page that will dynamically change/replace content on the page using AJAX.

Solution

The solution here is add a route and to write a call back that will respond accordingly. The only difference here is 

  • The link is not a a normal link but a link that will load using a AJAX call
  • The Response here is also not normal it will be a  AjaxResponse

 

So lets see how we can do this

The core_version_requirement key in info.yml file

The core_version_requirement key specifies what versions of Drupal that the module is compatible with.

 

name: Example
type: module
core: 8.x
core_version_requirement: ^8 || ^9

 

The above example  says that the module is compatible with Drupal 9 and Drupal 9. Notice that the core key is still compulsory here

The chnage

After Drupal 8.8.0 we will not need the core key anymore.

 

 

What is composer.lock

The purpose of the lock file is to record the exact versions of packages that are installed for your application on your environment. The content of the file is managed by composer and is not manually edited.

When the composer.lock file exists the composer install command will install the exact versions on the lock file and basically ignore the composer.json file.

How to make drupal install notice the composer.json again

Well simply you can