【问题标题】:Get image thumbnail through SOAP call通过 SOAP 调用获取图像缩略图
【发布时间】:2011-06-11 12:44:54
【问题描述】:

我正在尝试使用 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
                )

        )

)

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

【问题讨论】:

    标签: soap magento-1.4 soap-client magento


    【解决方案1】:

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

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

    Magento 动态缩放这些图像,这是一种更好的安排,比您使用一些旧推车获得的效果要好得多,您必须将图像准备好以“正确”尺寸。但是,这意味着磁盘上只有缩略图的缓存副本,没有任何 API 调用来访问它。

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

    【讨论】:

    • 在 Magento 中可以选择上传 3 种不同尺寸的产品图片,不是吗?
    • 随心所欲然后查看 API 调用结果 - 它显示了用于什么用途的图像。
    • 我们无法访问服务中的这些图像?哇! :(
    • 你得到了图片的 URL,然后你可以用它做你想做的事。这比将图像编码为 mime 类型并通过 API 发送要好得多。如果需要,您还可以将图像放在单独的 CDN 上,并让 Magento 从系统 B 获取图像。
    • @hipplar 如果它在 'types' 数组中作为 'image' 则这是主要产品图像,'thumbnail' 表示它用于缩略图。你必须遍历数组才能找到它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2013-09-05
    • 2017-06-22
    • 2014-03-28
    • 2011-05-11
    • 1970-01-01
    相关资源
    最近更新 更多