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 3 Tagen 13 Stunden
vor 3 Tagen 16 Stunden
vor 3 Tagen 16 Stunden
vor 3 Tagen 16 Stunden
vor 4 Tagen 13 Stunden
vor 4 Tagen 15 Stunden
vor 5 Tagen 12 Stunden
vor 6 Tagen 5 Stunden
vor 6 Tagen 6 Stunden
vor 6 Tagen 9 Stunden