Magento 1.9.2 - 单击色板后放大的产品图像"restores back"原始大小(210px)(RWD主题)



在产品列表(网格)中成功调整(放大)产品图像的大小:

app/design/frontend/rwd/my-theme/template/catalog/product/list.phtml

…它看起来像这样:

src="<?php echo $this->helper('catalog/image')
                     ->init($_product, 'small_image')
                     ->constrainOnly(TRUE)
                     ->keepAspectRatio(TRUE)
                     ->keepFrame(FALSE)
                     ->resize(230, 345); ?>"

显示OK -每行有3个产品,也配置在XML文件中:

app/design/frontend/rwd/my-theme/layout/catalog.xml

一切都很好,但每次我使用swatch图像(颜色)来动态更改产品图像(ajax?),它们被恢复到210px的尺寸。进一步检查确认它们是用这个目录中的"缓存"产品图像加载的(实际上是用Ajax异步替换的):

media/catalog/product/cache/1/small_image/210x
Firebug表明:

点击样本方块前的原始图像:

    <img id="product-collection-image-22" 
    class="hidden" 
    alt="Product 100" 
    src="http:<my-domain>/media/catalog/product/cache/1/small_image/230x345/
         89b1df1394338e37a97daa6040ec056f/p/e/product_100_black_1.jpg">

已替换(恢复到原来的210px)产品图片:

    <img class="product-collection-image-22" 
    src="http:<my-domain>/media/catalog/product/cache/1/small_image/210x/
         a5e241f90fa2c1f01d1b56f4e8602ff9/p/e/product_100_black_1.jpg">

有什么帮助吗?

根据我的说法,你不必改变图像的src来改变大小。

如果在rwd包中看到magento的默认主题

打开app/design/frontend/rwd/my-theme/template/catalog/product/list.phtml,转到第128行,你会发现<?php $_imgSize = 210; ?>,如果你改变这个变量,那么你所有的图像都会改变,包括swatch 1。

也尝试刷新目录图像缓存进入系统>>缓存管理

有点晚,但我找到了答案。210px是Magento small_image的默认大小。这个大小是在后端设置的。

进入系统->配置->目录->产品图像

同样的问题在这里,我试图编辑$_imgSize列表。更改了系统->配置->目录->产品图像大小。它不会生成较小的图像。它正在使用全尺寸。

我有一种感觉,它与product-media.js或swatches-list.js有关

最新更新