当前位置: 技术文章>> 如何在Magento 2中以编程方式清除特定CMS页面的缓存

文章标题:如何在Magento 2中以编程方式清除特定CMS页面的缓存
  • 文章分类: Magento
  • 23693 阅读
系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》

本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。


介绍:

基本上,Magento在工作时会使用大量内存,并且需要在一天内多次刷新内存。很多时候,Magento开发人员需要刷新特定cms页面的缓存,因为cms页面上的更改或从cms页面调用另一个phtml文件或此phtml文件中的更改。因此,紧接着您需要刷新缓存,对于该刷新,整个站点缓存是不合适的,因为它会导致站点停机。因此,请练习仅刷新特定的cms页面,并且刷新不会影响整个站点。

刷新缓存的步骤:

为此,我们必须创建一个PHP脚本,您需要将其放在已安装的Magento文件夹中的根目录上,然后可以直接在Web浏览器上运行。

<?php
use Magento\Framework\AppInterface;
 
try {
    require __DIR__ . '/app/bootstrap.php';
 
} catch (\Exception $e) {
    echo 'Autoload error: ' . $e->getMessage();
    exit(1);
}
 
try {
    $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
    $objectManager = $bootstrap->getObjectManager();
    $objectManager->get('Magento\Framework\App\State')->setAreaCode('frontend');
    $fullPageCache = $objectManager->get(\Magento\PageCache\Model\Cache\Type::class);
    $fullPageCache->clean(\Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('cms_p_2')); // Here 2 is a cms page id here you can pass any cms page id
}
catch(\Exception $e){
    echo "Error :";
    echo $e->getMessage();
}

因此,通过应用上述内容,您将能够成功刷新特定的CMS页面。

结语:

我希望上述刷新特定CMS页面的解决方案对您有所帮助。


推荐文章