it-swarm.it

Perché non riesco a disabilitare o abilitare la cache dei blocchi?

Nel admin/settings/performance pagina, I (l'amministratore) non può abilitare o disabilitare la cache dei blocchi. Perché?

7
enjoylife

Come riportato in quella pagina per quell'impostazione:

Si noti che la memorizzazione nella cache dei blocchi è inattiva quando i moduli che definiscono le restrizioni di accesso al contenuto sono abilitati.

Se ci sono moduli che implementano hook_node_grants(), il campo modulo "Blocca cache" è disabilitato.

Questo è il codice presente in system_performance_settings () , che è il generatore di moduli per il modulo "Prestazioni":

$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.'),
);

In alternativa, potrebbe esserci un modulo che disabilita il campo modulo per evitare che l'opzione possa essere selezionata; Non conosco alcun modulo che lo faccia, anche se non posso escludere che esiste un modulo che lo sta effettivamente facendo.

6
kiamlaluno

So che hai chiesto "perché?" no "posso aggirare quel problema" ... ma puoi aggirare quel problema senza rimuovere i moduli che usano hook_node_grants(). Prova modulo Block Cache Alter . Permette, tra le altre cose, la possibilità di utilizzare la memorizzazione nella cache dei blocchi anche se i moduli implementano hook_node_grants().

7
Chaulky