في ال admin/settings/performance
صفحة ، أنا (المسؤول) لا يمكن تمكين أو تعطيل ذاكرة التخزين المؤقت للكتلة. لماذا ا؟
كما ورد في تلك الصفحة لهذا الإعداد:
لاحظ أن التخزين المؤقت للكتلة غير نشط عند تمكين الوحدات التي تحدد قيود الوصول إلى المحتوى.
إذا كانت هناك وحدات تنفذ hook_node_grants()
، فسيتم تعطيل حقل نموذج "Block cache".
هذا هو الرمز الموجود في system_performance_settings () ، وهو أداة إنشاء النماذج لنموذج "Performance":
$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.'),
);
كبديل ، يمكن أن يكون هناك وحدة تعمل على تعطيل حقل النموذج لتجنب الخيار يمكن تحديده ؛ لا أعرف أي وحدة نمطية تقوم بذلك ، حتى لو لم أستطع استبعاد وجود وحدة نمطية تقوم بذلك بشكل فعال.
أعلم أنك سألت "لماذا؟" لا "هل يمكنني التغلب على هذه المشكلة" ... ولكن يمكنك تجاوز هذه المشكلة دون إزالة الوحدات التي تستخدم hook_node_grants()
. جرب Block Cache Alter module . يسمح ، من بين أمور أخرى ، بالقدرة على استخدام التخزين المؤقت للكتلة حتى لو كانت الوحدات تنفذ hook_node_grants()
.