通过SOAP调用获取图像缩略图

时间:2011-06-11 12:44:55

标签: soap magento-1.4 soap-client magento

我正在尝试使用Magento的Web服务API通过第三方应用程序在我的商店中显示产品。当我使用“catalog_product_attribute_media.list”查询项目的图像数据时,我得到这样的结果:

Array
(
    [0] => Array
        (
            [file] => /a/k/akio-dresser.jpg
            [label] => 
            [position] => 1
            [exclude] => 1
            [url] => http://example.com/magento/media/catalog/product/a/k/akio-dresser.jpg
            [types] => Array
                (
                    [0] => thumbnail
                    [1] => small_image
                    [2] => image
                )

        )

)

这告诉我,我应该能够获得此图像的“缩略图”或“small_image”版本,但我无法弄清楚如何实际执行此操作。我查看了文档并尝试了我能找到的所有内容,但没有成功。有没有人知道我可以使用什么SOAP调用?调用catalog_product_attribute_media.info似乎返回完全相同的信息,而catalog_product_attribute_media.types似乎根本不返回任何内容。

1 个答案:

答案 0 :(得分:2)

API调用结果是指产品图像的原始文件,而不是在运行时生成的缓存缩略图/小图像,即加载产品页面时。

返回的属性对应于您在产品的管理页面中获得的布局。因此,给定的图像可用于产品页面上的主要产品图像,类别列表中使用的小图像或添加到购物篮时使用的缩略图。

Magento可以动态地缩放这些图像,这是一个更好的安排,你可以用一些旧的购物车获得你需要准备好'正确'尺寸的图像。但是,这意味着只有磁盘上的缩略图缓存副本,没有API调用来访问它。

我遇到了类似的问题,想要在Magento之外的产品图像。我的解决方法是使用cron脚本下拉过去24小时内更改的大原始图像,然后使用imagemagick创建缩略图,然后使用图像的新“本地”副本。
这不是解决方法,我实际上想对缩略图进行一些命令行处理,去除多余的空白,锐化边缘并为颜色添加一些额外的活力。这个图像处理实时不真实,我不想要默认的“模糊”缩略图。只有新鲜的图像一夜之间就完成了这项工作。