/admin/config/development/performance
設定ページ、「コンテンツアクセス制限を定義するモジュールを有効にしたため、ブロックキャッシュが非アクティブになっている」ため、「キャッシュブロック」オプションが無効になっています。
ただし、一部のブロックをグローバルにキャッシュする必要があります(特に、キャッシュされていない場合、ページが読み込まれるたびにメニュー項目が再作成されるため、一部のsuperfishブロック)。
私はすでに Block Cache Alter モジュールを試しましたが、おそらくこのモジュールはシステムの「キャッシュブロック」オプションが有効になっている場合にのみ機能するためです(参照: https:// drupal。 org/node/1954224 )
ご協力ありがとうございます
最新のDrupal 7.33リリースでは、新しい設定変数が追加されました:
/**
* Block caching:
*
* Block caching may not be compatible with node access modules depending on
* how the original block cache policy is defined by the module that provides
* the block. By default, Drupal therefore disables block caching when one or
* more modules implement hook_node_grants(). If you consider block caching to
* be safe on your site and want to bypass this restriction, uncomment the line
* below.
*/
$conf['block_cache_bypass_node_grants'] = TRUE;
上記をTRUEに設定すると、「キャッシュブロック」オプションがチェック可能になります。
block_form_system_performance_settings_alter() は、そのコードが存在する場所です。調べてみると、variable_set('block_cache', TRUE);
を1回実行するか、$conf['block_cache'] = TRUE;
をsettings.phpファイルに追加することで、これを強制できます(下部にあります)。私はsettings.phpメソッドを選びます。
これのコアの問題: https://drupal.org/node/193096 (7.33になりました)。 MXTの使用方法については、MXTの回答を参照してください。
これを行うと、悪いことが起こる可能性があることに注意してください。あなたは警告されました。