簡體   English   中英

狂歡-在同一頁面上將多個變體添加到購物車

[英]Spree - Adding multiple variants to cart on the same page

我正在將Spree用於一個ecommerece網站,將要出售的每種產品都有大量顏色,並且大多數客戶都希望購買同一產品的不同顏色(例如,變體)。 我希望允許客戶在同一頁面上添加同一產品的多個變體,我目前有一個帶有單選按鈕的變體列表,該單選按鈕允許選擇要購買的變體和數量。 相反,我只想要一些默認為零的數量框,以便客戶可以將他們想要的數量簡單地添加到每個變量中,然后單擊“添加到購物車”。 看完訂單控制器后,我想到了這個

 <% has_checked = false
                  @product.variants.active.each_with_index do |v,index|
                    next if v.option_values.empty? || (!v.in_stock && !Spree::Config[:show_zero_stock_products])
                    checked = !has_checked && (v.in_stock || Spree::Config[:allow_backorders])
                    has_checked = true if checked %>
                    <li>

                      <label for="<%= ['products', @product.id, v.id].join('_') %>">
                        <span class="variant-description">
                          <%= variant_options v %> <%= text_field_tag (@product.has_variants? ? :quantity : "variants[#{@product.master.id}]"),1, :class => "title", :size => 3 %>
                        </span>
                        <% if variant_price_diff v %>
                          <span class="price diff"><%= variant_price_diff v %></span>
                        <% end %>
                      </label>
                    </li>
                  <% end%>

從某種意義上說,它可以顯示我想要的東西,變量和數量框的列表,但是每當我添加數量並將其添加到購物車時,它默認默認為列表中的最后一項以及最后數量框中的數量。 我已經嘗試了一些方法,但是都沒有正確嘗試,有人知道我會怎么做嗎?

Neeeeeeeevermind,閱讀了order_populate的模型,沒有意識到它使用的是來自產品/變體的兩個不同的哈希模型,我試圖傳遞哈希產品,這導致了錯誤,因為它不希望產品哈希與哈希一起出現,而是使用變體哈希,使用代碼

<%= text_field_tag "variants[#{v.id}]",0, :class => "title", :size => 3, :disabled => !v.in_stock && !Spree::Config[:allow_backorders] %>

希望這對其他人有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM