在购物车中获取并显示产品尺寸

时间:2020-04-18 19:54:34

标签: cart

我觉得我的逻辑很接近,但是我还不很清楚。我想从下拉列表“大小”中获取信息,然后将其与产品的其余部分一起添加到我的购物车中。任何帮助都将不胜感激!

这是我的.add()逻辑,用于将商品添加到购物车。除了大小逻辑之外,其他所有东西都可以正常工作。 (加上大小)。

    this.items = oldCart.items || {};
    this.totalQty = oldCart.totalQty || 0;
    this.totalPrice = oldCart.totalPrice || 0;

    this.add = function(item, id, size){
        var storedItem = this.items[id];    
        if(!storedItem) {
            storedItem = this.items[id] = {item: item, qty: 0, price: 0, size: size}
        }
        storedItem.size += storedItem.size;
        storedItem.qty++;
        storedItem.price = storedItem.item.price * storedItem.qty;
        this.totalQty++;
        this.totalPrice += storedItem.item.price;
    }

事实上,我已经通过console.log对我的“尺寸”变量中的“产品页面”获取了正确的尺寸信息。

这是我的路线:

outer.get('/add-to-cart/:id', function(req, res, next){
        var productId = req.params.id;
        var cart = new Cart(req.session.cart ? req.session.cart : {});
        var size = req.query.bikeSize       <--------------------------------------------
        Product.findById(productId, function(err, product){
            if(err){
                // !!!!add an error message!!!!
                return res.redirect('/');
            }
            cart.add(product, product.id, size);  <---------------------
            req.session.cart = cart;
            console.log(req.session.cart);
            res.redirect('/');
        });
    });

这是我显示的产品和尺寸。

    <% products.forEach(function(product){ %>
         <li class="list-group-item " id="checkoutGroup">
             <img src="<%= product.item.mainImage %>" alt="">
             <span class="badge"><%= product.qty %>  </span>
             <span><%= product.item.name %></span>

             <span><%= product.size %></span>               <----------------------------

             <span  class="">- $<%= product.price.toLocaleString(); %>.00</span>
          <div class="btn-group" id="checkoutRemoveButton">

               <button class="btn btn-xs dropdown-toggle" data-toggle="dropdown" type="button">Remove</button>
             <ul class="dropdown-menu" id="checkoutDropdown">
               <li><a href="/reduce/<%= product.item._id %>">Reduce by 1</a></li>
               <hr>
               <li><a href="/reduce-all/<%= product.item._id %>">Remove All</a></li>
             </ul>
          </div>
       </li>
    <% }); %>

0 个答案:

没有答案