首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Shopify API,Rails为产品选择特定的元字段

使用Shopify API,Rails为产品选择特定的元字段
EN

Stack Overflow用户
提问于 2012-07-18 09:12:13
回答 5查看 4.1K关注 0票数 5

在液体模板中,这是这样实现的:

代码语言:javascript
运行
复制
{{ product.metafields.book.author }}

它返回“作者”的值,因为它是关键的“书”。

我使用了Shopify API和Rails,并成功地为给定的产品遍历了每个元字段:

控制器中的

代码语言:javascript
运行
复制
@products = ShopifyAPI::Product.find(:all, :params => {:limit => 10})

视图中的

代码语言:javascript
运行
复制
<% @products.metafields.each do |metafield| %>
<%= metafield.key %> : <%= metafield.value %>
<% end %>

这将像预期的那样返回产品的所有元字段。如何从上面的示例中返回与特定键(即“book”)匹配的元字段?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-23 07:46:29

这样做是可行的:

代码语言:javascript
运行
复制
ShopifyAPI::Metafield.find(:first,:params=>{:resource => "products", :resource_id => 94549954, :key => "book"}) 
票数 1
EN

Stack Overflow用户

发布于 2012-12-31 01:32:11

代码语言:javascript
运行
复制
# add metafield
product = ShopifyAPI::Product.find(product_id)
product.add_metafield(ShopifyAPI::Metafield.new({
   :description => 'Author of book',
   :namespace => 'book',
   :key => 'author',
   :value => 'Kurt Vonnegut',
   :value_type => 'string'
}))

# retrieve metafield
author = ShopifyAPI::Metafield.find(:first,:params=>{:resource => "products", :resource_id => product.id, :namespace => "book", :key => "author"}).value

更多信息:http://www.shopify.com/technology/3032322-new-feature-metafields

票数 10
EN

Stack Overflow用户

发布于 2012-07-18 10:38:00

这似乎起了作用:

代码语言:javascript
运行
复制
<% product.metafields.each do |metafield| %>
    <% if metafield.key == "book" %>
        <%= metafield.key %>: <%= metafield.value %><br/>
    <% end %>
<% end %>

代码语言:javascript
运行
复制
<% product.metafields.each do |metafield| %>
    <% if metafield.key.include?("book") %>
        <%= metafield.key %>: <%= metafield.value %><br/>
    <% else %>
<% end %>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11537968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档