[selbst gelöst] Cache Problem
Eingetragen von Alpenmaid (145)
am 24.07.2019 - 19:26 Uhr in
am 24.07.2019 - 19:26 Uhr in
Hiho,
ich habe eine Modul erstellt, dass Werte aus der aktuellen Node eines bestimmten content types liest, auf Klick in eine extra Liste schreibt und je nach Wert, dann eine Angabe in der Node ändert.
Mein Problem ist, dass die Node diesen geänderten Wert nicht anzeigt, obwohl er korrekt gespeichert wurde.
Ich muss erst manuell den Cache löschen, damit er sichtbar wird.
Ich hab es mit preprocess für diesen Node content type versucht mit $variables['#cache']['max-age'] = 0;
aber das hat leider nicht geholfen.
Könnt ihr mir einen Tipp geben?
EDIT: das ist jetzt meine Lösung
// um den Cache zu löschen reicht
$node->save();
// um die Seite neu zu laden, damit die Änderung angezeigt wird ggf.
$aktuelleseite=$current_path = \Drupal::service('path.current')->getPath();
header('Location: '.$aktuelleseite);
die;
- Anmelden oder Registrieren um Kommentare zu schreiben
Nach der Änderung des Nodes
am 24.07.2019 - 21:34 Uhr
Nach der Änderung des Nodes mußt Du den Cache dafür "invalidieren". Genaueres siehe https://drupal.stackexchange.com/questions/269396/how-do-i-clear-the-cac...
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke für den Tipp,
am 25.07.2019 - 09:29 Uhr
Danke für den Tipp, allerdings will das bei mir irgendwie noch nicht funktionieren. Irgendwas mache ich offenbar falsch.
Ich habe folgendes versucht
1. \Drupal::service('page_cache_kill_switch')->trigger();
2. Cache::invalidateTags($node->getCacheTags());
3. $node = \Drupal\node\Entity\Node::load($nid);
4. $node = Node::load($nid);
Noch jemand vielleicht eine
am 29.07.2019 - 12:43 Uhr
Noch jemand vielleicht eine Idee?
einen Tipp`auf was ich achten muss dabei?