Không lưu trữ chân trang


8

Tôi đã thêm mã này vào tệp local.xml

<default>
    <reference name="footer">
         <action method="unsetData"><key>cache_lifetime</key></action>
         <action method="unsetData"><key>cache_tags</key></action>
    </reference>
</default>

Nhưng nó không hoạt động. Làm thế nào tôi có thể làm mới bộ đệm cho footer.phtmllập trình?


3
Bạn có bật bộ đệm toàn bộ trang hay chỉ bộ đệm khối?
Phong tục David

Câu trả lời:


6

Sanjana, bạn có thể làm điều này theo hai cách:

Vô hiệu hóa với getChildHtml()

Theo Magento, getChildHtml()bạn có thể yêu cầu nó sử dụng bộ đệm hay không bằng cách gửi tham số thứ hai:

public function getChildHtml($name = '', $useCache = true, $sorted = false)

Đặt $useCachecho khối này khi gọi $this->getChildHtml('footer'): $this->getChildHtml('footer', false)trong

  • 1column.phtml
  • 2columns-left.phtml
  • 2columns-left.phtml
  • 3columns.phtml

đó là các tập tin mẫu gốc.

Bằng cách đặt thời gian tồn tại của bộ đệm thành null layout.xmlvà tạo trình trợ giúp

Hãy sử dụng một trình trợ giúp đơn giản:

lớp My_Module_Helper_Data mở rộng Mage_Core_Helper_Abauge {

public function returnNull() 
{
    return null;
} 

}

Và đặt giá trị trong layout xml như thế này:

<reference name="footer">
    <action method="setCacheLifetime"><lifetime helper="mymodule/returnNull" /></action> </reference>

Tất cả là nhờ Fabrizio Branca


Xin chào Amit .. Nơi tôi cần thêm dòng này. chức năng công khai getChildHtml ($ name = '', $ useCache = true, $
sort

Đã giải thích nó. trong tập tin bố trí gốc 1column.phtml
Amit Bera

Những giải pháp này không hoạt động cho trang web của tôi.
sanjana

Có giải pháp nào khác cho việc này không .. Tôi bị mắc kẹt với vấn đề này kể từ hai ngày qua. cảm ơn trước
sanjana

1
Tùy chọn thứ ba - thêm public function getCacheLifetime() { return null; }vào khối chân trang. Đây chỉ là một lựa chọn tốt nếu bạn đã có ghi đè cục bộ. Nếu bạn không, hãy chọn một trong hai tùy chọn khác.
Robbie Averill

1

Vấn đề bạn đang gặp phải cũng giống như Fabrizio giải thích ở đây:

http://fbrnc.net/blog/2015/06/cache-and-layout-xml-tricks

Để diễn giải bài đăng trên blog của anh ấy, khi bạn đang đặt thời gian tồn tại của bộ đệm trong xml, bất kỳ giá trị nào bạn chuyển vào nút <action method="setCacheLifetime">sẽ ước tính true. Ngay cả khi bạn vượt qua null, điều đó sẽ được chuyển đổi thành a string, và đó stringsẽ là true. Những gì bạn phải làm là tạo một lớp trình trợ giúp có thể đặt giá trị null trong nút.

Tạo một mô-đun trống và thêm tệp cấu hình của bạn:

{{site_root}} / app / code / local / {{your_namespace}} / CacheNull / ect / config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <{{your_namespace}}_CacheNull>
            <version>1.0.0</version>
        </{{your_namespace}}_CacheNull>
    </modules>
    <global>
        <helpers>
            <customcachenull>
                <class>{{your_namespace}}_CacheNull_Helper</class>
            </customcachenull>
        </helpers>
    </global>
</config>

Sau đó tạo lớp người trợ giúp của bạn:

{{site_root}} / app / code / local / {{your_namespace}} / CacheNull / Helper / Data.php

class {{your_namespace}}_CacheNull_Helper_Data extends Mage_Core_Helper_Abstract
{
    public function returnNull()
    {
        return null;
    } 
}

Khi bạn xác minh rằng mô-đun đang tải chính xác trên trang web của mình, bạn có thể thêm vào xml cần thiết để xóa chân trang khỏi bộ đệm:

{{site_root}} / app / design / frontend / {{you_theme_namespace}} / {{your_theme}} / layout / local.xml

<reference name="footer">
    <action method="setCacheLifetime"><lifetime helper="customcachenull/returnNull" /></action>
</reference>

Để kiểm tra xem phần chân trang có thực sự không được lưu trong bộ nhớ cache hay không, hãy lấy một công cụ khác từ Fabrizio:

https://github.com/AOEpeople/Aoe_TemplateH gợi ý

Sử dụng điều này, bạn sẽ có thể thấy đầy đủ màu sắc những khối nào đang được lưu trong bộ nhớ cache cũng như một loạt các thông tin hữu ích khác về nội dung trang web của bạn.


0

Bước cuối cùng có thể cần phải được sửa đổi:

<reference name="footer">
    <action method="setCacheLifetime"></action>
</reference>

0

Đang làm việc

  • thiết lập nullthông qua người trợ giúp

    <reference name="footer">
        <action method="setCacheLifetime">
            <value helper="helper/method" />
        </action>
    </reference>
  • không có đối số

    <reference name="footer">
        <action method="setCacheLifetime"></action>
    </reference>
  • sử dụng dữ liệu JSON

    <action method="setCacheLifetime" json="value">
        <value>null</value>
    </action>

Không làm việc:

  • đặt thành nullchuỗi

    <reference name="footer">
        <action method="setCacheLifetime">
            <value>null</value>
        </action>
    </reference>
  • giá trị trống

    <reference name="footer">
        <action method="setCacheLifetime">
            <value></value>
        </action>
    </reference>

Nguồn: http://fbrnc.net/blog/2015/06/cache-and-layout-xml-tricks

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.