magento lazyload解决方案

magneto框架速度确实慢,也是因为她的可扩展性高,不过还有一些途径来解决它,其中一个就是使用lazyload。

访问天猫的时候会发现她的图片加载是一段一段的,这就是所谓懒加载,原来我做了一个网站,用的就是懒加载:示例网站 ,但是在做magento网站时发现修改就没这么简单了,下面我一一来说应该如何在magento中添加懒加载。

1、首先将lazyload的js文件加入项目中,在根目录下js文件夹中添加lazy文件夹,上传这三个文件

2、接下来就要加载这些文件了,开发app/design/frontend/megatron/default/layout/local.xml 这个文件,添加以下代码:

<!-- lazyload -->
            <action method="addJs"><script>lazy/lazy-image-loader.js</script></action>
            <action method="addJs"><script>lazy/common.js</script></action>

3、现在js文件已经引入了,接下来要在图片显示的代码里面修改加载方式,在

\app\code\local\Etheme\Megatronconfig\Helper\Data.php 路径下打开文件,修改两个地方:

a\搜索:

$rollover_image=

后面的代码替换为:

                    $rollover_image='<img src="/loader.gif" data-src="'.$el->helper('catalog/image')->init($_product, 'small_image',$_image->getFile())->resize($widthBig, $heightBig) . '" class="lazy img-responsive  animate scale product-retina" data-image2x="' . $el->helper('catalog/image')->init($_product, 'small_image',$_image->getFile())->resize($widthBig * 2, $heightBig * 2) . '"    alt="' . $el->stripTags($_product->getName(), null, true) . '">';

b\搜索:

$html[]=

后面的代码替换为:

                    $html[]='<img src="/loader.gif" data-src="'.$image_src.'" class="lazy product-retina img-responsive"   data-image2x="' . $el->helper('catalog/image')->init($_product, 'small_image')->resize($widthBig * 2, $heightBig * 2) . '"  alt="' . $el->stripTags($_product->getName(), null, true) . '">';

4、在后台刷新以下缓存,如何合并js、css得取消合并。刷新下页面,ok,大功告成!!!!

时间: 2024-08-01 02:41:30

magento lazyload解决方案的相关文章

Magento模板Paypal付款不成功返回清空购物车产品【解决方案】

Magento模板Paypal付款不成功返回清空购物车产品[解决方案] 今天我有个客户要集成l了paypal账户但在使用是遇到了问题遇到了这个问题. 当我们使用第三方支付工具Gateway如paypal支付的时候,如果用户付款不成功或者取消了订单再返回网站时,发现购物车里面的产品已经被清空了,如果是客户主动cancel的还好,但是如果是操作失误的原因而未能付款,客户会非常抓狂. 通过下面这个方法可以解决这个问题,Magento通常的方法是如果判定为第三方的gateway 作为支付工具的话直接sa

magento getMessage 不显示或者显示html标签解决方案

在模板页面不显示getMessage的解决方案是,在对应的控制器里加上如下代码: $this->_initLayoutMessages('customer/session'); 如果加入后出现如下图的bug 则再加入如下代码 $this->_initLayoutMessages('catalog/session'); magento getMessage 不显示或者显示html标签解决方案

magento后台登陆404的解决方案

(1)执行如下sql SET SQL_SAFE_UPDATES=0; SET FOREIGN_KEY_CHECKS=0; UPDATE `core_store` SET store_id = 0 WHERE code='admin'; UPDATE `core_store_group` SET group_id = 0 WHERE name='Default'; UPDATE `core_website` SET website_id = 0 WHERE code='admin'; UPDATE

FluentData - 轻量级.NET ORM持久化技术解决方案

目录: 一.什么是ORM? 二.使用ORM的优势 三.使用ORM的缺点 四.NET下的ORM框架有哪些? 五.几种常用框架的比较 六.什么是FluentData? 七.快速上手如何使用FluentData? 八.提供资源下载 内容: 一.什么是ORM?  ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法. 二

Jquery.LazyLoad.js实现图片延迟加载功能

从网上下载来的版本多多少少都有些BUG,尤其是加载后在IE6和IE7下图片闪动是个大问题,在网上查了很久,也没有找到相关的解决方案.没解决方案,就得发挥咱DIY的精神,自己想法解决,分析了BUG,理了理思路,结合前段时间我做弹出窗口特效的方法,解决了Jquery.LazyLoad.js的兼容问题,现将思路和方法与大家分享一下. 解决思路大致是两点,一是从LazyLoad本身的滤镜参数下手,发现有一个参数在IE6和IE7是可以用的,就是show,那么在IE6和IE7下用这个特效:二是IE8以上(包

[移动端]移动端上遇到的各种坑与相对解决方案

mobileHack 这里收集了许多移动端上遇到的各种坑与相对解决方案 1.问题:手机端 click 事件会有大约 300ms 的延迟 原因:手机端事件 touchstart –> touchmove –> touchend or touchcancel –> click,因为在touch事件触发之后,浏览器要判断用户是否会做出双击屏幕的操作,所以会等待300ms来判断,再做出是否触发click事件的处理,所以就会有300ms的延迟 解决方法:使用touch事件来代替click事件,如

在SharePoint解决方案中使用JavaScript

在SharePoint解决方案中使用JavaScript (0) 随着Web前段技术(JavaScript/HTML5)的日益发扬光大,在Web应用程序中,我们开始更多的使用JavaScript.很多以往是放在服务器上运行的逻辑,现在都开始逐渐的向前段转移.这种趋势不需要作者多说,只要是Web开发人员(包括SharePoint工程师),都会有所体验.而在SharePoint平台,这种前端化的趋势也是相当明显的.当我们构建SharePoint解决方案的时候,JavaScript代码的数量在不断的增

Android中ViewPager+Fragment懒加载问题解决方案

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878 本文出自[DylanAndroid的博客] Android中ViewPager+Fragment懒加载问题解决方案 在Android中我们经常会用到ViewPager+Fragment组合.然而,有一个很让人头疼的问题就是,我们去加载数据的时候 由于ViewPager的内部机制所限制,所以它会默认至少预加载一个.这让人很郁闷,所以,我就想到要封装一个Fragme

用Masonry和jQuery.lazyload插件实现网页瀑布流布局

瀑布流布局 我们常能在网上看到很多瀑布流布局的页面,尤其是很多图片网站,例如百度图片.这种最典型的瀑布流布局,每个元素的宽度是固定的,但图片长度各不相同,于是通过下图这种样子竖着排列了下来,达到了最大的页面空间利用率. 因为对前端开发不了解,一开始为了找到这种布局叫什么名字也是花了我好久时间o(╯□╰)o 瀑布流布局不局限于等宽布局,例如下面这种形式也可以,来自Masonry官网截图. Masonry官网 http://masonry.desandro.com/ 瀑布流布局作为一种响应式布局,网