From d49700753a1e2701cd651d66893e3ee3fb22a01f Mon Sep 17 00:00:00 2001 From: bach Date: Thu, 5 Aug 2021 11:57:11 +0200 Subject: [PATCH] fixed articles in home base materials grid --- .../FieldType/ComputedMaterialsReferences.php | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedMaterialsReferences.php b/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedMaterialsReferences.php index 308c5e0e..faccb715 100644 --- a/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedMaterialsReferences.php +++ b/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedMaterialsReferences.php @@ -37,18 +37,23 @@ class ComputedMaterialsReferences extends EntityReferenceFieldItemList * Compute the values. */ protected function computeValue() { - $query = \Drupal::entityQuery('node') - ->condition('status', 1) - ->condition('type', 'materiau') - ->exists('field_materiau_images') - ->condition('field_materiau_images.%delta', 3, '>') - ->sort('created', 'DESC') - ->range(0,200); + // $query = \Drupal::entityQuery('node') + $storage = \Drupal::service('entity_type.manager')->getStorage('node'); + $query = $storage->getQuery() + ->condition('status', 1) + ->condition('type', 'materiau') + ->condition('field_materiau_images.%delta', 3, '>') + ->exists('field_materiau_images') + ->sort('created', 'DESC') + ->range(0,200); $results = $query->execute(); if ($results) { - $nids = array_rand($results, 100); + $nids = array_values($results); + shuffle($nids); + array_slice($nids, 0, 100); + // $nids = $results; $i = 0; - foreach ($nids as $nid) { + foreach ($nids as $key => $nid) { $this->list[$i] = $this->createItem($i, $nid); $i++; }