zencart多图与缩略图功能以及Image-Handler插件

说到zencart多图功能就会想到Image Handler这个插件,其实zencart程序本身自带有多图显示的功能,通过 tpl_modules_additional_images.php 文件实现的。

但是zencart默认的多图功能无法通过后台发商品的时候添加,需要手动通过ftp上传来实现,添加图片的步骤是:

1、通过后台添加商品时添加第一张图片,假设添加的图片名字为product.jpg,发布商品;
2、发布商品后,将同一商品的不同图片按照递增的方式命名,如:product01.jpg,product02.jpg……,将图片用ftp上传到第一步发布商品时商品图片上传的目录,一般在根目录下images文件夹下。

只要以上两步,zencart就可以自动将同一商品的多张图片展示在商品页面。上面第二步命名图片的方式最好按下划线加递增后缀的方式,如:product_01.jpg,product_02.jpg……这样看起来视觉上比较容易区分,对程序多图显示没有影响。

这样的手动上传比较麻烦,而安装Image Handler插件后可以直接在后台为商品添加多图,比较方便。另外,Image Handler插件还支持缩略图,在【商店设置】->【图像参数】-> IH resize images 改为yes就好了。缩略图的分小图,中图。大小也在【商店设置】-> 【图像参数】下设置,图片大小使用的是系统的参数。

其实zencart本身也是支持缩略图功能的,只是使用起来比较麻烦,还是需要通过ftp手动来实现。

在zencart根目录下有个images文件夹,images文件夹下有large和medium两个文件夹,这三者合起来就可以实现小图、中图、大图的功能。具体步骤如下:

1、首先还是后台【商店设置】->【图像参数】,找到 Product Info - Image Medium SuffixProduct Info - Image Large Suffix 默认对应的设置时 _MED_LRG 。这是设置中图大图的后缀名,可以按你自己认为习惯的方式来修改,比如_MED改为_M,_LRG改为_L。
2、设置好后就是准备图片了,这里需要对同一个图做3个不同大小的图片(这个可以通过制图软件有晴图片处理来完成),比如上面例子,我们将product.jpg,做成85*85、210*210、500*500的3张图,对应的命名是85*85的为product.jpg,210*210的命名为product_M.jpg,500*500的命名为product_L.jpg。
3、发布商品时,使用的是85*85命名为product.jpg的图片,假设商品图片是直接上传到images文件夹下的。
4、商品发布后,用ftp将210*210的命名为product_M.jpg的图片上传到images文件夹下的medium文件夹下,500*500的命名为product_L.jpg的图片上传到images文件夹下的large文件夹下。

只要上面四步zencart就可以自动识别一张图片的缩略图、中图和大图,一般缩略图用来显示在网站所有小图片的地方,中图显示在商品页面的商品图片处,大图则为链接,点击打开查看细节用的

通常情况下,我们为了管理方便,发商品时不会直接将商品图片发布在images文件夹下,假设我们根据商品的分类设置图片文件夹,则同样的文件夹也要设置在large和medium两个文件夹下,如images下设置了categories1文件夹用来上传小图,则large和medium下也要分别设置categories1文件夹用来存储加了后缀的中图和大图,这样才会自动识别。

如果既需要多图又需要三级缩略图,同样还是在图片的命名上做文章,比如上面个的product_01.jpg,中图为product_01_M.jpg,大图为product_01_L.jpg,分别传到对应的目录即可,其他的以此类推。

这种方式操作起来非常麻烦,如果同时处理多个图,图片的命名上很容易乱,但是好处是便于管理,可控性强,只要图弄好后,配合批量发布的插件也不是不能接受。但是相对于Image Handler插件开启了IH resize images后,还是复杂太多,不过个人偏向于使用这种手动的方式,感觉一切很清楚明白,尽在掌握。

另外,网络上许多文章将Image-Handler插件和商品页面的多图展示并且切换鼠标移动放大细节展示的混淆起来,Image-Handler插件在开启了IH small images zoom on hover后虽然可以在缩略图上鼠标经过放大商品,但并不能实现商品页面多图滚动并且细节放大的功能,这需要另外的插件来实现。

作者: LMS

天行贱,君子自强自息。

标签

发表评论

电子邮件地址不会被公开。 必填项已用*标注