在Shopify图像上设置和访问元字段

时间:2012-08-22 17:06:28

标签: metadata shopify

我正在尝试使用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控制台中提取此产品时,我看不到元数据(图像对象没有metafields方法),而且我没有运气指的是液体模板中的元数据: / p>

{{ image.metafields.global.variant_sku }}

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

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

我的最终目标是通过API发送SKU以及图像,然后通过液体/ javascript访问它,以支持显示特定颜色/样式变化的正确图像。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

看到图像的'alt'标记是一个元字段,为什么不在图像的alt标记中设置SKU。

您可以通过Shopify液体访问'alt'标签的设定值 - 只是您无法通过ShopifyAPI检索'alt'标签。

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

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
.
.
.

希望有所帮助。