如何在狂欢中有单独的变体选项下拉菜单
How to have seperate variant option dropdowns in spree
我正在尝试创建具有两个不同变体的产品。我稍微更改了标准代码,因此我的变体下拉菜单如下所示:
<div id="product-variants" class="col-md-6">
<h3 class="product-section-title">Colour options</h3>
<ul class="list-group">
<li>
<%= select_tag "variant_id", options_for_select(@product.variants_and_option_values(current_currency).collect{|v| ["#{variant_options(v)}", v.id]})%>
</li>
</ul>
</div>
我的问题是我想创建两个单独的选项类型 - 外部颜色和内部颜色。目前,如果我添加更多变体,它只会将它们添加到同一个下拉菜单中,但我希望将这两个选项分开。
基本上我要问的是如何区分两者。像 -
product.variants.select do |v|
v.option_types.include? Spree::OptionValue.find_by_name('Inside')
end
提前致谢!
我已经设法让它工作了。这是我所做的:
<ul class="list-group">
<li>
<% outside = @product.variants_and_option_values(current_currency).collect{|v| ["#{variant_options(v)}", v.id] if variant_options(v).include? 'Outside'} %>
<%= select_tag "variant_id", options_for_select(outside.compact)%>
</li>
<li>
<% inside = @product.variants_and_option_values(current_currency).collect{|v| ["#{variant_options(v)}", v.id] if variant_options(v).include? 'Inside'} %>
<%= select_tag "variant_id_inside", options_for_select(inside.compact)%>
</li>
</ul>
我正在尝试创建具有两个不同变体的产品。我稍微更改了标准代码,因此我的变体下拉菜单如下所示:
<div id="product-variants" class="col-md-6">
<h3 class="product-section-title">Colour options</h3>
<ul class="list-group">
<li>
<%= select_tag "variant_id", options_for_select(@product.variants_and_option_values(current_currency).collect{|v| ["#{variant_options(v)}", v.id]})%>
</li>
</ul>
</div>
我的问题是我想创建两个单独的选项类型 - 外部颜色和内部颜色。目前,如果我添加更多变体,它只会将它们添加到同一个下拉菜单中,但我希望将这两个选项分开。
基本上我要问的是如何区分两者。像 -
product.variants.select do |v|
v.option_types.include? Spree::OptionValue.find_by_name('Inside')
end
提前致谢!
我已经设法让它工作了。这是我所做的:
<ul class="list-group">
<li>
<% outside = @product.variants_and_option_values(current_currency).collect{|v| ["#{variant_options(v)}", v.id] if variant_options(v).include? 'Outside'} %>
<%= select_tag "variant_id", options_for_select(outside.compact)%>
</li>
<li>
<% inside = @product.variants_and_option_values(current_currency).collect{|v| ["#{variant_options(v)}", v.id] if variant_options(v).include? 'Inside'} %>
<%= select_tag "variant_id_inside", options_for_select(inside.compact)%>
</li>
</ul>