it-swarm-es.com

¿Por qué no puedo deshabilitar o habilitar el bloque de caché?

En el admin/settings/performance página, yo (el administrador) no puedo habilitar o deshabilitar el bloque de caché. ¿Por qué?

7
enjoylife

Como se informó en esa página para esa configuración:

Tenga en cuenta que el almacenamiento en caché de bloques está inactivo cuando los módulos que definen restricciones de acceso al contenido están habilitados.

Si hay módulos que implementan hook_node_grants(), el campo de formulario "Bloquear caché" está deshabilitado.

Este es el código presente en system_performance_settings () , que es el generador de formularios para el formulario "Rendimiento":

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

Como alternativa, podría haber un módulo que esté deshabilitando el campo del formulario para evitar que se pueda seleccionar la opción; No conozco ningún módulo que haga eso, incluso si no puedo excluir, hay un módulo que lo está haciendo efectivamente.

6
kiamlaluno

Sé que preguntaste "¿por qué?" no "¿puedo solucionar ese problema" ... pero puede solucionar ese problema sin eliminar los módulos que usan hook_node_grants(). Pruebe el Módulo de modificación de caché de bloque . Permite, entre otras cosas, la capacidad de utilizar el almacenamiento en caché de bloques incluso si los módulos implementan hook_node_grants().

7
Chaulky