Nopcommerce ShoppingService -- 我想获取购物车中所有商品的信息

Nopcommerce ShoppingService -- I want to get the information of all the products in the shopping cart

我想获取购物中所有商品和商家的信息cart.Thank你好

nopcommerce 版本 4.40

我想做 Shoppingcart

我可以, 我能够找出购物篮中有多少件商品。

MyShoppingcart

@{
var shoppingCartItems = default(IList<ShoppingCartItem>);
var shoppingCartEnabled = await _permissionService.AuthorizeAsync(StandardPermissionProvider.EnableShoppingCart);

var customer = _workContext.GetCurrentCustomerAsync().Result;
if (customer.HasShoppingCartItems)
{
    var storeScope = await _storeContext.GetActiveStoreScopeConfigurationAsync();
    shoppingCartItems = await _shoppingCartService.GetShoppingCartAsync(customer, ShoppingCartType.ShoppingCart, storeScope);
}

}

当您加载 shoppingCartItems 时,您已检索到购物车中的所有商品。购物车,在 4.2 版本(不是你的版本,但它是我使用的版本)中有 ProductID 字段。您可以使用此字段检索所有产品信息并在 shoppingCartItems 上使用 foreach cicle 填充购物车项目。

var shoppingCarts = _shoppingCartService.GetShoppingCart(_workContext.CurrentCustomer, ShoppingCartType.Wishlist, _storeContext.CurrentStore.Id);

foreach(var sci in shoppingCarts)
{
    sci.Product = _productService.GetProductById(sci.ProductId);
}

这里以4.2服务版本为例。但是,4.2 有 EntityFramework,我不需要加载产品信息,因为 EF 为我加载(sci.Product 包含产品信息)。我不知道 4.4 是否使用 EF 或其他,但如果 sci.Product 刚刚填充,您可以使用断点检查它。

在 4.4 版中,如果您查看数据库或域,您会看到购物车项目有一个 属性 ProductId,并且每个产品项目有一个 属性 VendorId。按照上面的答案,您将能够从购物车中检索产品信息,然后检索购物车中每个产品的供应商信息。