2010-05-07 28 views
6

Tôi sử dụng bộ nhớ cache khối Magento cho khối điều hướng trên cùng. Vấn đề là khối đã tạo ra một số url cho các tệp trong thư mục da không thể được đưa vào tệp css vì tên tệp phụ thuộc vào dữ liệu mô hình danh mục.Làm thế nào để sử dụng bộ đệm chặn riêng biệt để truy cập cửa hàng an toàn và không an toàn trong Magento?

Bây giờ khi tôi mở Magento bằng kết nối an toàn (https: //) khối điều hướng được tải xuống từ bộ đệm và được gửi tới trình duyệt nhưng với url http: // dẫn đến cảnh báo trong hầu hết các trình duyệt về không an toàn các yếu tố trên trang.

Tôi muốn có bộ nhớ cache riêng biệt cho các kết nối an toàn và không an toàn. Khối chuyển hướng mở rộng lớp Mage_Catalog_Block_Navigation và do đó có cấu hình bộ nhớ cache sau:

$this->addData(array(
     'cache_lifetime' => false, 
     'cache_tags'  => array(Mage_Catalog_Model_Category::CACHE_TAG, Mage_Core_Model_Store_Group::CACHE_TAG), 
    )); 

Trả lời

4

Hmmm đơn giản hơn tôi nghĩ ...

Tôi đã cố gắng trọng phương pháp getCacheKey() bằng cách thêm một lá cờ với tình trạng an ninh hiện tại nhưng lúc đầu này đã không thành công nhưng sau vài cuộc thanh trừng bộ nhớ cache này dường như làm việc bây giờ:

public function getCacheKey() 
{ 
    $key = parent::getCacheKey(); 
    $key .= Mage::app()->getStore()->isCurrentlySecure() ? '_S' : '_U'; 

    return $key; 
} 
+0

có một ví dụ về điều này trong các Mage_Page_Block_Html_Footer cốt lõi trong v1.3.2.4 cũng như: '/ ** * Truy xuất khóa để lưu nội dung chặn trong bộ nhớ cache * * @return string */ chức năng công cộng getCacheKey() { trả về 'PAGE_FOOTER_'. Mage :: app() -> getStore() -> getId() . '_'. (int) Mage :: app() -> getStore() -> isCurrentlySecure() . '_'. Mage :: getDesign() -> getPackageName() . '_'. Mage :: getDesign() -> getTheme ('mẫu'); } ' – benz001

Các vấn đề liên quan