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?

Digital wandern
quelle

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);
  }
?>
mikeytown2
quelle
-2

Für Drupal 8:

// Mark this page as being uncacheable.
\Drupal::service('page_cache_kill_switch')->trigger();
dmitrii
quelle
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