2015-12-23 1 views
3

J'essaie d'afficher le nombre de résultats de recherche dans la page de résultat dans Drupal 8, je veux afficher quelque chose comme: 23 results for search_word. J'utilise la recherche Drupal par défaut, et item-list--search-results.html.twig comme fichier de modèle pour afficher les résultats, mais je ne trouve pas le nombre de résultats de recherche dans les variables disponibles, aucune idée comment trouver cette valeur?Comment afficher les résultats sur la page de résultats de recherche dans Drupal 8?

Répondre

4

Il n'y a pas variable Nombre de résultat dans Drupal 8.

1) Ajouter cette variable en utilisant le code suivant (ajouter ce code à MYTHEME.theme):

function MYTHEME_preprocess_item_list(&$variables) { 

    $total = null; 
    // get the total number of results from the $GLOBALS 
    if(isset($GLOBALS['pager_total_items'])){ 
    $total = $GLOBALS['pager_total_items'][0]; 
    } 

    $variables['count_items'] = $total; 
} 

2) Ensuite, vous pouvez utiliser {{}} count_items dans liste d'éléments - recherche-results.html.twig:

<div> {{ count_items }} results for search_word </div> 
1

Le chemin par défaut le fichier-liste des éléments fonctionne est en boucle à travers et tableau appelé les éléments pour que vous puissiez faire quelque chose comme <div> {{ items|length }} results printed </div>

Source

+1

Mais cela ne fonctionne pas si nous avons un téléavertisseur dans le page, car dans ce cas, le tableau d'éléments ne contient que des éléments d'une seule page! – Aghiad

+0

Je voudrais alors vérifier le module Devel et voir si vous pouvez trouver ce tableau qui contient l'ensemble des résultats de la recherche. Celui-là ne m'a pas encore laissé tomber dans Drupal 8 en s'adaptant aux nouvelles manigances de Twig. – gcalex5