2017-02-10 9 views
0

Ich habe eine Seite, auf der ich einige Ergebnisse aus der Datenbank anzeigen möchte, also führe ich die Abfrage in hook_preprocess_node aus und übergebe eine Variable an die Zweigvorlage. die Abfrage funktioniert gut, aber nur zum ersten Mal, aber danach wird die Seite zwischengespeichert So kann ich nicht die realen Daten in der Datenbank gespeichert sehen. Wenn ich den Cache lösche, funktioniert alles gut, weil der hook_preprocess_node erneut ausgeführt wird. Ich möchte den Cache nicht jedes Mal löschen. Was denkst du ist das Problem, sogar ich habe den Zweig Cache deaktiviert ??preprocess_node wird nur zum ersten Mal eingegeben

Antwort

1

Wenn Ihr Abfrageergebnis aus der URL abhängt, sollten Sie einen Kontext, in dem Array machen gesetzt

function themename_preprocess_node(&$variables) { 
    $variables['#cache']['contexts'][] = 'url'; 

oder mehr spezifischen Kontext

function themename_preprocess_node(&$variables) { 
    $variables['#cache']['contexts'][] = 'url.path'; 

Docs. https://www.drupal.org/docs/8/api/cache-api/cache-contexts

+0

Hinzufügen von $ Variablen ['# cache'] ['max-age'] = 0; arbeite das – khodadadi

Verwandte Themen