最近首页很慢,运行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); ?> 效果良好,访问速度提升一倍。 (责任编辑:好模板) |