it-swarm-eu.dev

Proč nelze zakázat nebo povolit blokovou mezipaměť?

V admin/settings/performance stránka, já (administrátor) nemůžu povolit nebo zakázat blokovou mezipaměť. Proč?

7
enjoylife

Jak je uvedeno na této stránce pro toto nastavení:

Upozorňujeme, že blokové ukládání do mezipaměti je neaktivní, pokud jsou povoleny moduly definující omezení přístupu k obsahu.

Pokud existují moduly implementující hook_node_grants(), pole formuláře "Bloková mezipaměť" je zakázáno.

Toto je kód přítomný v system_performance_settings () , což je tvůrce formuláře pro formulář „Výkon“:

$form['block_cache']['block_cache'] = array(
  '#type' => 'radios', 
  '#title' => t('Block cache'), 
  '#default_value' => variable_get('block_cache', CACHE_DISABLED), 
  '#options' => array(
    CACHE_DISABLED => t('Disabled'),
    CACHE_NORMAL => t('Enabled (recommended)'),
  ), 
  '#disabled' => count(module_implements('node_grants')), 
  '#description' => t('Note that block caching is inactive when modules defining content access restrictions are enabled.'),
);

Jako alternativa by mohl existovat modul, který deaktivuje pole formuláře, aby se zabránilo volbě; Nevím o žádném modulu, který to dělá, i když nemůžu vyloučit, že existuje modul, který to efektivně dělá.

6
kiamlaluno

Vím, že jste se zeptali „proč?“ ne „mohu tento problém vyřešit“ ... ale tento problém se můžete obejít bez odebrání modulů, které používají hook_node_grants(). Vyzkoušejte Modul Block Cache Alter . Umožňuje mimo jiné možnost používat blokové ukládání do mezipaměti, i když moduly implementují hook_node_grants().

7
Chaulky