1

我正在尝试使用 Shopify API 参考中描述的图像元字段功能,如下所示:

"{
"position":1,
"metafields":[
{"key":"variant_sku",
"value":"A176-6053",
"value_type":"string",
"namespace":"global"}
],
"src":"http://some.url/images/000/013/369/original/a176-6053.jpg?1337973636
}

当我在 Rails 控制台中拉起这个产品时,我没有看到元字段(图像对象没有元字段方法),而且我没有运气像这样引用液体模板中的元字段:

{{ image.metafields.global.variant_sku }}

我注意到此列表中明显缺少描述元字段可以使用的位置的图像:“您可以存储有关您的产品、变体、系列、订单、博客、页面的其他信息,并且您可以在元字段中购物。”

然而,API 参考中有一个图像示例。我错过了什么?

我的最终目标是通过 API 将 SKU 与图像一起发送,然后通过 Liquid/javascript 访问它以支持针对特定颜色/样式变化显示正确的图像。

感谢您的任何帮助。

4

2 回答 2

1

需要为资源自己请求元字段,默认情况下它们不会嵌入到响应中。API 文档有如何检索它们的示例。

于 2012-08-23T12:24:00.893 回答
0

看到图片的'alt'标签是元字段,为什么不在图片的alt标签中设置SKU。

您将能够通过 Shopify Liquid 访问“alt”标签的设置值 - 只是您将无法通过 ShopifyAPI 检索“alt”标签。

这是我保存通过 html 表单提交的图像并使用它保存“alt”标签的 Rails 示例...

images = params[:images] || nil

if images
 images.each do |image|
      a = ShopifyAPI::Image.new
      a.prefix_options = {:product_id => params[:product_id]}
      a.metafields = [{:key => 'alt', :value => 'Cake', :value_type => "string", :namespace =>  "tags"}]
      a.attachment = Base64.encode64(image.read)
      a.filename = image.original_filename
      a.save
 end
else
.
.
.

希望有帮助。

于 2014-03-25T11:11:35.880 回答