Beenden Sie das Caching für einen bestimmten Knotentyp Drupal 7


7

Ich arbeite mit einem Knotentyp, der mehrere benutzerdefinierte Felder enthält. Die Werte dieser Felder müssen bei jedem Laden der Seite aktualisiert werden, aufgrund der Caching-Funktion von Drupal jedoch nicht. Was ist der beste (einfachste) Weg, um das Zwischenspeichern dieses Inhaltstyps zu verhindern?

Antworten:


14

Überprüfen Sie, ob http://drupal.org/project/cacheexclude dies für Sie tun kann. Wenn nicht, müssen Sie ein Modul erstellen, das hook_init implementiert. Innerhalb dieses Hooks müssen Sie den Knoten von arg () laden, um zu sehen, ob der Knoten vom Typ Certian ist. Wenn dies der Fall ist, deaktivieren Sie den Seitencache.

<?php
  // Get the current active node object if present.
  $node = menu_get_object();
  if (!empty($node) && !empty($node->type) && $node->type == 'page') {
    drupal_page_is_cacheable(FALSE);
  }
?>

-2

Für Drupal 8:

// Mark this page as being uncacheable.
\Drupal::service('page_cache_kill_switch')->trigger();

Ich habe Ihren Code in einen Codeblock eingefügt, aber sind Sie sich wirklich sicher, was die zweite Zeile betrifft? Und warum postest du 8 Lösung unter 7 Frage?
Mołot
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.