在产品列表(网格)中成功调整(放大)产品图像的大小:
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有关