Wie korrekten Wert für total_rows in View ermitteln?
am 08.10.2019 - 10:12 Uhr in
Hallo zusammen,
in einer Drupal 8 Installation gibt es eine paginierte Sucheseite (10 Teaser pro Seite), basierend auf der Search API. Im Kopf der Seite wird die Zahl der Suchergebnisse leider falsch ausgegeben.
Beispiel:
- Ich habe 15 nodes vom type "Auto". Alle sind publiziert. 8 sind für Anonymous sichtbar
- In Xdebug wird mir bei Aufruf der Seite als Anonymous angezeigt: total_rows = 15, result = 8
- Der Zähler der Sucheseite zeigt für Anonymous 15 an, gelistet werden 8 Teaser
Scheinbar wird also total_rows vor der Prüfung der Berechtigung ermittelt. Um das zu umgehen habe ich in einem eigenen Module in hook_views_pre_render folgenden Code eingefügt
$view->total_rows = count($view->result);
Das funktioniert. Dennoch habe ich mich zu früh gefreut. Denn durch die Paginierung (10 pro Seite) wird result nie grösser als 10.
Die Frage ist nun, wie ich für alle User-Rollen die korrekte Zahl der Suchergebnisse angezeigt bekomme, die mit der Zahl der angezeigten Teaser übereinstimmt.
Bin für jeden Tipp dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 17 Minuten 56 Sekunden
vor 3 Stunden 44 Minuten
vor 4 Stunden 17 Minuten
vor 14 Stunden 1 Minute
vor 14 Stunden 26 Minuten
vor 17 Stunden 9 Minuten
vor 20 Stunden 8 Minuten
vor 21 Stunden 41 Minuten
vor 22 Stunden 36 Minuten
vor 22 Stunden 37 Minuten