首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在产品视图的价格块中禁用对magento2.3的缓存?

在Magento 2.3中禁用产品视图的价格块缓存,您可以按照以下步骤进行操作:

  1. 创建一个自定义模块:
    • 在Magento的app/code目录下创建一个新的目录,命名为Custom。
    • 在Custom目录下创建一个新的目录,命名为DisablePriceCache。
    • 在DisablePriceCache目录下创建等级为registration.php的文件,并添加以下代码:
代码语言:txt
复制
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Custom_DisablePriceCache',
    __DIR__
);
  1. 创建模块配置文件:
    • 在DisablePriceCache目录下创建等级为module.xml的文件,并添加以下代码:
代码语言:txt
复制
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Custom_DisablePriceCache" setup_version="1.0.0">
        <sequence>
            <module name="Magento_Catalog"/>
        </sequence>
    </module>
</config>
  1. 创建插件类:
    • 在DisablePriceCache目录下创建等级为etc的目录,并在该目录下创建di.xml文件,并添加以下代码:
代码语言:txt
复制
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Catalog\Block\Product\ListProduct">
        <plugin name="disable_price_cache" type="Custom\DisablePriceCache\Plugin\DisablePriceCachePlugin" sortOrder="1"/>
    </type>
</config>
  • 在DisablePriceCache目录下创建Plugin目录,并在该目录下创建DisablePriceCachePlugin.php文件,并添加以下代码:
代码语言:txt
复制
<?php
namespace Custom\DisablePriceCache\Plugin;

class DisablePriceCachePlugin
{
    public function afterGetCacheLifetime(\Magento\Catalog\Block\Product\ListProduct $subject, $result)
    {
        return null;
    }
}
  1. 清理缓存:
    • 在Magento的根目录下执行以下命令清理缓存:
代码语言:txt
复制
php bin/magento cache:clean

完成以上步骤后,产品视图的价格块缓存将被禁用。请注意,这个解决方案是通过创建一个自定义模块并使用插件来实现的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券