Drupal8: How to alter language link in the switcher block

There are more than one ways available to alter the language item link in the language switcher block. We will see what are the ways in the below,

  1. Using hook_preprocess_links__language_block() in the theme file
  2. Using hook_language_switch_links_alter() in the module file
  3. Using contrib module “Disable Language.


Suppose if we want to remove the english language from the drop down, then here is the code, we can alter this code as per our needs.

function cherry_preprocess_links__language_block(&$variables) {
foreach ($variables[‘links’] as $i => $link) {
$linkLanguage = $link[‘link’][‘#options’][‘language’];
if($linkLanguage->get(‘id’) == ‘en’) {

Using hook_language_switch_links_alter()

Suppose if we want to unset the current language code, then here is the code. We can alter this hook as per our needs.

function my_module_language_switch_links_alter(&$variables) {
foreach ($variables as $i => $link) {
$linkLanguage = $link[‘language’];
if ($currentLanguageCode == $linkLanguage->get(‘id’)) {

Using these hooks, we can set active class to the current language item link or to add any extra attributes to pass to twig file.

Drupal8: Content Import from a CSV file into any content type

Hi all,

Today i am going to share a module which help us to import content the easily into the application using a simple CSV file.

Actually, this module was created by friend Dhayanandan and all the credits goes to him only.

He has given complete step by step procedure to import the content into the application.

URL: https://www.drupal.org/project/contentimport

This module has reduce complete manual work in creating content in the admin page. Within a few seconds, you can import more number of contents.

And this module has got more popularity and enhancement request from various people.

So, those who required to import content easily, can give a try and provide your valuable feedback.


Drupal8: Add class to body tag

Here is the solution for adding our custom class to body tag using preprocess_html() function.

function hook_preprocess_html(&$variables) {
$variables[‘attributes’][‘class’][] = ‘class-name’;

If you want to add class for all node of specify content type, you can do like below

function hook_preprocess_html(&$variables) {
if ($node = \Drupal::request()->attributes->get(‘node’)) {
if($node->getType() == ‘content_type_name’) {
$variables[‘attributes’][‘class’][] = ‘class-name’;

Hope this will helpful to you…


Drupal 8

Drupal is a free, open-source CMS (Content Management System) application built on PHP. It is a powerful solution for creating various online projects starting from personal blogs, through corporate platforms all the way up to political and governmental websites.

The script was first written and released by Dries Buytaert in 2001 and it was focused on massaging. Since 2014 the application is developed and maintained by a community of users, which assures the reliability it is proud of.

The latest major release of the platform – Drupal 8 was announced in 2015 and includes brand new features and improvements such as the WYSIWYG (What You See Is What You Get) editing interface and the new intuitive object-oriented backend.

Since 2017 the application is used by more than 1.2 million websites including well-known organizations, governmental and university platforms and many others.

Despite of the fact that there are lots of CMS scripts available on the market Drupal has a leadership position, compared to the others. At the chart below you can see the market share that Drupal takes.

Going forward i am going to share issues and tips faced in my Drupal 8 projects. Hope it might be helpful to someone who might have face same type of issue in their project.