Classy theme not found.

After "Changing Theme (Appearance) in Drupal 10" we notice that some of our content and functional blocks have gone and we need to get them back on and then we will do further customize the web site.

1. So the first and the most important issue is we have lost the Language Switch from our multilingual Drupal website. Let us get it back by going to /admin/structure/block section of Administrator's tools and in the "Header" region click "Place block" hyperlink. We then choose from the pop-up interface a block named "Language Switcher" by clicking "Place block" against it.

Then we will see the "Configure block" dialogue window and we will uncheck the checkbox titled "Display title"and then click "Save block" button below.

Then we scroll down and hit "Save blocks" button to fix the new order of the blocks in the theme's regions.

2. The second issue we notice the block titled "website-change.log" disappeared from About page. Let's do the similar manipulation we just did with the Language Switch block.

We go to Structure section in Admin panel and then we click "Block Layout" item. Now we need to "Place block" inside the "Secondary sidebar" region. Then we choose "website-change.log" and then we leave the checkbox "Display Title" on and we click the tab "Pages" to type in the URI "/about" to make our block only display on the About page. And we click "Save Block".

3. Let us update Drupal codebase to the latest stable and rebuild caches of the website. Let's run this command in the main directory of our Drupal site:

composer update "drupal/core-*" --with-all-dependencies

We will see something like this as a result of the script's work:

Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 10 updates, 0 removals
 - Upgrading pear/pear-core-minimal (v1.10.13 => v1.10.14)
 - Upgrading symfony/console (v6.3.4 => v6.3.8)
 - Upgrading symfony/dependency-injection (v6.3.5 => v6.3.8)
 - Upgrading symfony/http-foundation (v6.3.7 => v6.3.8)
 - Upgrading symfony/http-kernel (v6.3.7 => v6.3.8)
 - Upgrading symfony/serializer (v6.3.7 => v6.3.8)
 - Upgrading symfony/string (v6.3.5 => v6.3.8)
 - Upgrading symfony/validator (v6.3.7 => v6.3.8)
 - Upgrading symfony/var-dumper (v6.3.6 => v6.3.8)
 - Upgrading symfony/yaml (v6.3.7 => v6.3.8)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 10 updates, 0 removals
 - Downloading symfony/string (v6.3.8)
 - Downloading symfony/console (v6.3.8)
 - Downloading symfony/yaml (v6.3.8)
 - Downloading symfony/var-dumper (v6.3.8)
 - Downloading symfony/validator (v6.3.8)
 - Downloading symfony/serializer (v6.3.8)
 - Downloading symfony/http-foundation (v6.3.8)
 - Downloading symfony/http-kernel (v6.3.8)
 - Downloading symfony/dependency-injection (v6.3.8)
 - Downloading pear/pear-core-minimal (v1.10.14)
 - Upgrading symfony/string (v6.3.5 => v6.3.8): Extracting archive
 - Upgrading symfony/console (v6.3.4 => v6.3.8): Extracting archive
 - Upgrading symfony/yaml (v6.3.7 => v6.3.8): Extracting archive
 - Upgrading symfony/var-dumper (v6.3.6 => v6.3.8): Extracting archive
 - Upgrading symfony/validator (v6.3.7 => v6.3.8): Extracting archive
 - Upgrading symfony/serializer (v6.3.7 => v6.3.8): Extracting archive
 - Upgrading symfony/http-foundation (v6.3.7 => v6.3.8): Extracting archive
 - Upgrading symfony/http-kernel (v6.3.7 => v6.3.8): Extracting archive
 - Upgrading symfony/dependency-injection (v6.3.5 => v6.3.8): Extracting archive
 - Upgrading pear/pear-core-minimal (v1.10.13 => v1.10.14): Extracting archive
Generating autoload files
44 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.

It looks awesome. Let's now clear the caches of our Drupal website by running this script:

./vendor/drush/drush/drush cr

We will see the message:

 [success] Cache rebuild complete. 

4. Periodically Drupal shows system message with an error about Classy theme being not found. See the picture above. Apparently it means that the theme we just installed was not fully adopted to Drupal 10...

The reason of this situation is the fact that Classy theme was a part of Drupal 8 and Drupal 9 core co 

de distribution package but has been removed in Drupal 10. So some older themes developed for Drupal 8 or 9 versions need to be patched for the Classy theme requirement inside their config files.

We can find this situation described in the description of the Classy project page on the Drupal.org website: https://www.drupal.org/project/classy 

Let us first download the Classy theme and see if it fixed the issue.

composer require 'drupal/classy:^1.0'

Looking at the result of the script execution  we can tell that 2 themes were actually downloaded: classy and stable. Because stable is the dependency of classy.

Package operations: 2 installs, 0 updates, 0 removals
 - Downloading drupal/stable (2.0.0)
 - Downloading drupal/classy (1.0.2)
 

Now let's see if it fixed the issue. And then we can even try to contribute the fix to the common Drupal code repository by filing a respective pull request to the git version control of the Holy theme adding the dependency of classy to holy.info.yml file like this:

dependencies:
    - classy:classy

But let us check if it did fix the issue and let's see if it's the best way to fix it also before we make any code commits to the common repository.

Tags