Magento产品调整图像大小问题

3

我的服务器因为Magento调整图像大小而变得过慢。我正在使用以下代码来显示图片:

echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(250,250)

如果我上传了一个很大的图片(比如2mb、3mb),这会加载实际的图片。但如果我使用resize函数,它会将其调整为250x250,这样服务器就需要额外工作来调整图片大小,而这个过程可以在上传图片时完成一次。我只想避免这个调整的过程,所以每次图片不会被调整大小,应该在创建产品时上传图片时进行调整大小。请给我解决方案。

1个回答

1

只需跳过调整大小。一切都在__toString()中完成,因此如果您删除resize(),则不会进行调整大小,文件仅会复制到缓存中。

编辑 重要的是您在后端上传正确的小图像。您可以上传多个图像,并在后端设置三个(标准安装图像、small_image和thumbnail)。这些图像可以通过以下方式访问

$this->helper('catalog/image')->init($_product, 'IMAGE_TYPE')

如果您上传了一张250x250像素的图片,并将其标记为缩略图,那么您可以删除调整大小操作,一切都能正常工作。

您可以做的事情是将调整大小后的图像放入缓存中,但不要问我如何操作。但是在插入它们后会出现很多问题,例如清除图像缓存 -> 所有图像都将被删除。


我已经尝试过不调整大小,但它显示了整个大约5MB的大图像。 - Sheena Bohra
这个问题是否可以解决,意味着它会在缓存中查找图像,如果缓存中不存在,则调整其大小。 - Sheena Bohra
是的,如果您认为需要更多改进,可以重新编辑我的问题。 - Sheena Bohra
你的意思是,如果使用echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(250,250)这段代码,它会生成调整大小后的图像,并在调整大小后始终使用缓存中的图像,直到我从管理员处刷新缓存。我的理解正确吗? - Sheena Bohra
我不确定我是否正确理解了你的意思。这些图像只会被调整大小一次,之后它们会从磁盘加载,直到你点击“系统 > 缓存管理”中的“刷新目录图像缓存”按钮并删除所有图像,然后它们会被重新创建(仅一次)。 - Fabian Blechschmidt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接