在液体模板中,这是这样实现的:
{{ product.metafields.book.author }}它返回“作者”的值,因为它是关键的“书”。
我使用了Shopify API和Rails,并成功地为给定的产品遍历了每个元字段:
控制器中的:
@products = ShopifyAPI::Product.find(:all, :params => {:limit => 10})视图中的:
<% @products.metafields.each do |metafield| %>
<%= metafield.key %> : <%= metafield.value %>
<% end %>这将像预期的那样返回产品的所有元字段。如何从上面的示例中返回与特定键(即“book”)匹配的元字段?
发布于 2012-07-23 07:46:29
这样做是可行的:
ShopifyAPI::Metafield.find(:first,:params=>{:resource => "products", :resource_id => 94549954, :key => "book"}) 发布于 2012-12-31 01:32:11
# 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
发布于 2012-07-18 10:38:00
这似乎起了作用:
<% product.metafields.each do |metafield| %>
<% if metafield.key == "book" %>
<%= metafield.key %>: <%= metafield.value %><br/>
<% end %>
<% end %>或
<% product.metafields.each do |metafield| %>
<% if metafield.key.include?("book") %>
<%= metafield.key %>: <%= metafield.value %><br/>
<% else %>
<% end %>https://stackoverflow.com/questions/11537968
复制相似问题