Tại sao tôi không thể tắt hoặc bật bộ đệm ẩn?


7

Trong admin/settings/performancetrang, tôi (quản trị viên) không thể bật hoặc tắt bộ đệm ẩn. Tại sao?

Câu trả lời:


6

Như đã báo cáo trong trang đó cho cài đặt đó:

Lưu ý rằng bộ đệm ẩn không hoạt động khi các mô-đun xác định hạn chế truy cập nội dung được bật.

Nếu có các mô-đun triển khai hook_node_grants(), trường biểu mẫu "Chặn bộ đệm" sẽ bị tắt.

Đây là mã có trong system_performance_sinstall () , là trình tạo biểu mẫu cho biểu mẫu "Hiệu suất":

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

Thay vào đó, có thể có một mô-đun đang vô hiệu hóa trường biểu mẫu để tránh tùy chọn có thể được chọn; Tôi không biết bất kỳ mô-đun nào làm điều đó, ngay cả khi tôi không thể loại trừ có một mô-đun đang thực hiện nó một cách hiệu quả.


7

Tôi biết bạn hỏi "tại sao?" không phải "tôi có thể giải quyết vấn đề đó không" ... nhưng bạn có thể khắc phục vấn đề đó mà không cần loại bỏ các mô-đun sử dụng hook_node_grants(). Hãy thử mô-đun Block Cache Alter . Nó cho phép, trong số những thứ khác, khả năng sử dụng bộ đệm ẩn ngay cả khi các mô-đun triển khai hook_node_grants().


Thay vì sử dụng mô-đun đó, việc thêm $conf['block_cache_bypass_node_grants'] = TRUE;vào settings.php nên được điều tra trước nếu bạn biết bạn đang làm gì với các khối của mình.
Niall Murphy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.