回答:
その設定についてそのページで報告されているように:
コンテンツアクセス制限を定義するモジュールが有効になっている場合、ブロックキャッシュは非アクティブであることに注意してください。
を実装しているモジュールがある場合hook_node_grants()
、「ブロックキャッシュ」フォームフィールドは無効になります。
これは、「パフォーマンス」フォームのフォームビルダーであるsystem_performance_settings()にあるコードです。
$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()
。ブロックキャッシュ変更モジュールを試してください。特に、モジュールがを実装している場合でも、ブロックキャッシュを使用することができますhook_node_grants()
。
$conf['block_cache_bypass_node_grants'] = TRUE;
、ブロックで何をしているのかわかっている場合は、まずsettings.phpへの追加を調査する必要があります。