我添加了以下代碼以從 cms 頁面加載自定義模板檔案。
{{block template="Test_PointHistory::index.phtml"}}
每次重新加載此 cms 頁面時,我都想獲取最新資料,但它總是從整頁快取中回傳資料。
有人可以調查一下并建議我嗎?
uj5u.com熱心網友回復:
我找到了解決這個問題的方法。我為解決此問題而采取的步驟如下:
創建一個繼承 Magento 的默認頁面布局的新頁面布局。例子
app/design/frontend/<Vendor>/<theme>/Magento_Theme/page_layout/1column-disabled-fpc.xml`<?xml version="1.0"?> <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd"> <update handle="1column"/> <referenceContainer name="page.wrapper"> <container name="one-column-disabled-cache" as="one-column-disabled-cache" htmlTag="div" htmlClass="disabled-fpc" /> </referenceContainer> </layout>創建檔案
app/design/frontend/<Vendor>/<theme>/Magento_Theme/layout/default.xml`<?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="one-column-disabled-cache"> <block name="disabled-fpc" cacheable="false"/> </referenceContainer> </body> </page>創建檔案
app/design/frontend/<Vendor>/<theme>/Magento_Theme/layouts.xml<?xml version="1.0" encoding="UTF-8"?> <page_layouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/PageLayout/etc/layouts.xsd"> <layout id="1column-disabled-fpc"> <label translate="true">1 column (Disabled FPC)</label> </layout> </page_layouts>轉到管理員并將 CMS 頁面的布局更改為
1 column (Disabled FPC)
uj5u.com熱心網友回復:
您可以覆寫getCacheLifetime()塊類中的方法以回傳 null。
uj5u.com熱心網友回復:
您必須使用以下方法覆寫它getCacheLifetime():
public function getCacheLifetime()
{
return null;
}
另一種方式(更好)是實作IdentityInterface
https://devdocs.magento.com/guides/v2.4/graphql/develop/identity-class.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491095.html
