Tutorial

How to override any Views Field output programatically in Drupal 8/9

In this tutorial we are going to override any Views Field in your View and populate it with a new data. You can do so by creating a module, or by placing the code in your .theme file in you theme. We will be working with HOOKs, and those works no matter if they are called from module or theme itself.

Pridal/a lubo dňa Ut, 08/11/2020 - 15:27
Overriding via HOOK

You can use this hook:

function HOOK_preprocess_views_view_field(&$variables) {
	$view = $variables['view'];
	$field = $variables['field'];
	if ($view->storage->id() == 'VIEW_ID' && $view->current_display == 'CURRENT_DISPLAY_ID' && $field->field == 'field_YOUR_FIELD') {
		
		$variables['output'] = "Your NEW Output!";

	}
}

Hints:

  • You can find your VIEW_ID by opening your view and checking the URL, it should be something like /admin/structure/views/view/VIEW_ID where last string after slash is your VIEW_ID
  • You can find your CURRENT_DISPLAY_ID by hovering over the top banner where all your view displays are, check the URL (in chrome bottom left corner), it should be something like /admin/structure/views/view/user/edit/block_1 where block_1 is CURRENT_DISPLAY_ID. I am writing this because when you have only one display in one view it does not change the URL at all.
  • You can find your field_YOUR_FIELD id when you again hover over field in the view and in URL last string after slash is again field_id you need.

Might interest you

Tutorial
There are many ways how to do that, but easier and universal I use is this one.
Tutorial
In the last months I am being pretty much bombarded by my clients with asking what happened to their sites. That the spam protection is not…

Recommended

Tutorial
3 views
This sketch is quite easy, I used Arduino Nano with OLED 0.96″ display 128×64 resolution…
Tutorial
8 views
While working on a fairly complex website with very complex views setup, including tens…
Tutorial
6 views
In this case we have two options, either we use hook_user_presave() or we can create new…
Tutorial
6 views
When using Swiftmailer under Drupal 8 / 9 it automatically sets the headers for sender to…
Tutorial
3 views
Yes, IOS / Safari is the new internet explorer. Amount of time I spend on debugging…
Tutorial
10 views
There is a very handy function in Drupal 8 / 9, allowing developers refresh view when…
Tutorial
4 views
Often, when doing SEO checkups, SEO specialist come up with adding Schema.org…
Tutorial
78 views
I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint…
Tutorial
4 views
If you are a newbie like I am and struggling with setting the proper MYSQL my.cnf config…
Tutorial
10 views
I had trouble to set this up properly, because documentation is quite misleading or often…
Article
56 views
As the title says, DO NOT in any circumstances install ANY bitcoin price extension to ANY…
Tutorial
173 views
This is (or should be) a working example of sending some Ether between two addresses.…
Module
43 views
This list was fetched from Zapper, with their /v1/token-list endpoint. Which you can…
Tutorial
98 views
In the last months I am being pretty much bombarded by my clients with asking what…
Tutorial
25 views
So sometimes you just need to transliterate some kind of foreign (or local) language, and…