magento优化之模板静态化

最近首页很慢,运行magento profile检查的时候,发现首页某个templat运行时间占了一半,大概6s。

用magento自带的缓存,尝试把代码中的collection缓存起来,但不知道为啥一直失败,最后决定把整个template转成静态的页面,每两小时重新生成。

代码如下:

<?php
$dir = Mage::getBaseDir().DS.'var'.DS;
$fileName = $dir.'real_static_categories.phtml';

if(!file_exists($fileName)||(filemtime($fileName)&&(time()-filemtime($fileName)>7200))){
    $text=Mage::app()->getLayout()->createBlock('catalog/product_list')->setTemplate('catalog/product/productcarousel/carouselblocks/categories.phtml')->toHtml();
    $file=fopen($fileName,'w');
    fwrite($file,$text);
    fclose($file);
}
$file=fopen($fileName,'r');
echo fread($file,filesize($fileName));
fclose($file);

?>

效果良好,访问速度提升一倍。

原文地址:https://www.cnblogs.com/cangzhou/p/6209781.html