`

Magento中为Block启用Cache方法

 
阅读更多

在Block类的_construct(不是构造方法)方法中加入以下代码: 
Php代码
public function _construct()   
        {   
        $this->addData(   
            array(   
                'cache_lifetime'    => 3600,   
                'cache_tags'        => array(Mage_Catalog_Model_Product::CACHE_TAG),   
                'cache_key'         =>  'productfaq_'.Mage::registry('product')->getId().'_'.Mage::app()->getStore()->getId()   
                . '_' . Mage::getDesign()->getPackageName()   
                . '_' . Mage::getDesign()->getTheme('template')   
                . '_' . Mage::getSingleton('customer/session')->getCustomerGroupId()   
            )   
        );   
           
        parent::_construct();   
        }  

cache_key必须唯一。 
在获得数据的方法中加入: 
Php代码
$faq_data = @unserialize( Mage::app()->loadCache($this->getCacheKey()) );   
//从数据库取出数据并存入到faq_data 中   
    if (!$faq_data) {   
               
            $faq_data = array();   
                        ...   
                        $faq_data[]=array('customer_id' => $customerId,   
                    'name' => $sName,   
                    'avatar' => $sAvatar,   
                    'question' => $sQuestion,   
                    'answer' => $sAnswer,   
                );   
       
       }   
Mage::app()->saveCache(serialize($faq_data), $this->getCacheKey(), $this->getCacheTags(),$this->getCacheLifetime());  
 
分享到:
评论

相关推荐

    magento 加速插件 full page cache 花了我几十美金买的

    README_VARNISH_CACHE.txt文件可能是关于如何配置和集成Varnish Cache到Magento系统的指南,其中可能包含了安装步骤、配置示例以及最佳实践。 package.xml文件是Magento插件的标准元数据文件,它定义了插件的结构、...

    magento中block应用

    然后,Magento会根据这些定义来实例化Block对象,执行构造函数和`_construct`方法,加载数据,最后调用`toHtml`方法将Block内容渲染成HTML。 3. **Block的作用** - **数据处理**:Block可以处理数据,例如计算价格...

    magento static block

    Block items can include any content that Magento CMS can involve Powerful block view scheduler Per-category and per-store view aheadWorks Market Segmentation Suite extension integration Enabling/...

    Magento 全页缓存-brim_pagecache-2.1.3

    首先,我们来看"brim_pagecache-2.1.3.zip",这是该插件的主要安装包,包含了所有必要的文件和配置,用于在Magento系统中集成并启用全页缓存功能。用户通常需要将这个ZIP文件解压,并按照Magento的扩展安装指南进行...

    magento footer no cache,不缓存页面底部footer部分

    实现“magento footer no cache”主要有以下几种方法: 1. **禁用布局更新缓存**:在Magento的后台管理系统中,可以禁用特定的布局更新缓存。这将使得每次请求都重新生成footer部分,但请注意,这可能会对整体性能...

    product-list-block-cache:简单的Magento模块可启用默认产品列表块缓存

    一个简单的模块,将缓存信息添加到Mage_Catalog_Block_Product_List从而在产品列表上启用块缓存。 该模块是为上的教程创建的。 你为什么要安装这个? 简短答案: 更好的性能。 中等答案: 您可能熟悉Magento的块...

    magento邮件发送失败解决方法.zip

    magento1.9 邮件发送失败解决方法,附带视频教程和图片,文字和修改好的文件,只测试过1.9版本. 其他版本没遇到这个问题

    Magento 常用方法和插件

    在Magento的开发过程中,掌握常用的方法和插件是提高工作效率的关键。这篇博客"Magento 常用方法和插件"可能涵盖了以下方面: 首先,关于Magento的核心概念,我们需要了解其模块化架构。Magento将功能分解为模块,...

    Magento-SMTP-Email

    4. **安装和启用**:在Magento后台,进入“系统”>“Magento Connect”>“管理扩展”,刷新缓存并启用新安装的插件。 5. **配置SMTP设置**:进入“系统”>“配置”>“开发”>“电子邮件设置”,选择SMTP扩展并填入...

    magento全页缓存

    Magento社区版自1.7版本开始引入了内置的全页缓存,称为Enterprise Full Page Cache(E-FPC),在Magento Enterprise Edition中默认启用。这个功能依赖于Varnish Cache,一个高性能的反向代理服务器,用于缓存动态...

    magento快速复制网站_magento_magento快速复制站_

    如果目标服务器有SSL证书,还需要在Magento后台系统设置中启用SSL,并更新相应的URL。 最后,清理和重新生成缓存,确保新站点能够正常运行: ```bash cd /path/to/destination/magento/var/ rm -rf cache/ session...

    Magento在代码中调用CMS静态块 (Static Block)

    接下来的`setBlockId`方法则用于设置要加载的静态块的ID,本例中为`friendlink`,这个ID是在Magento后端创建静态块时定义的。最后,`toHtml`方法被调用,将静态块转换为HTML格式输出到页面上。 ### `setBlockId()`...

    magento 常用的方法总结

    magento 常用的方法总结 Magento 是一个功能强大且灵活的电子商务平台,提供了许多实用的方法和函数来帮助开发者快速开发电子商务网站。以下是 Magento 中的一些常用方法总结: 一、获取设计目录路径 在 Magento ...

    Magento

    6. **清理缓存和重新部署**:安装完成后,需要清除Magento的缓存并重新部署静态内容,这可以通过命令行完成,如 `php bin/magento cache:flush` 和 `php bin/magento setup:static-content:deploy`。 7. **安全设置...

    magento入门文档

    启用模型意味着让Magento知道这个模型的存在,并且可以在系统中使用它。这通常是在配置文件中完成的。 **4.5 启用资源模型** 资源模型负责处理数据库操作,它通常是模型的一部分。启用资源模型意味着指定哪个类...

    magento学习重点

    Magento的模板文件调用是通过Block对象实现的。Block对象是页面构建的基本单元,它们负责渲染HTML和执行业务逻辑。例如,`header` Block在`page.xml`布局文件中被定义,然后在页面模板文件(如`1column.phtml`)中...

    Magento php开发指南

    4. 模块开发:深入探讨如何创建和开发Magento模块,模块是Magento扩展功能的主要方式,包括如何注册和启用模块,如何定义配置文件、数据模型、控制器和视图文件等。 5. 主题和样式定制:指导开发者如何通过修改或...

Global site tag (gtag.js) - Google Analytics