Tutorial

[FIX] Node Order module creating duplicates in a View?

So there is a very good and user friendly module called Node Order, but it has it's flaws. Each time I use it, it creates duplicates based on the amount of relatinships added in the View. So when I should have 10 results, I have 30 because of 2 relationships.

It happens to somehow mess with the View itself. But there is a fix for that! It took me a while to solve this one out.

Pridal/a lubo dňa So, 10/24/2020 - 16:48
Add a sort Nodeorder field

In Sort Criteria add Nodeorder field as follows in the image below.

Altering the query via custom module

In a .module file, using HOOK_views_query_alter() write the following:

use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\query\QueryPluginBase;

function YOUR_MODULE_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
    
    // fix for node order duplicates
    if ($view->id() == 'VIEW_NAME') {
        $query->addWhereExpression(0,'taxonomy_index.tid = node__field_druh_materialu.field_druh_materialu_target_id');
    }
  
}

Replace node__field_druh_materialu.field_druh_materialu_target_id with a field you added as a taxonomy term reference field on nodes. In my case it was field_druh_materialu.

Might interest you

Tutorial
Sometimes you unintentionally delete some relationship from Views, that your draft gets irreversibly corrupted. Not matter what you do, you…
Tutorial
There is no error in logs, and your Drupal 8 website is writing a message: The website encountered an unexpected error. Please try again…

Recommended

Tutorial
3 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
4 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
67 views
I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint…
Tutorial
2 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
52 views
As the title says, DO NOT in any circumstances install ANY bitcoin price extension to ANY…
Tutorial
168 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
95 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…
Module
262 views
Simple module which adds "I agree with Terms and Conditions" Checkout Pane. Text is…