如何使用非常简单的代码获取购物车中的物品列表?(我需要它在一个控制器,插件中)它应该是4.20版本的Nopcommerce
如果客户已登录,还会获得客户信息吗?如果客户没有登录,则在下单时创建一个新帐户。
发布于 2019-10-30 21:49:46
您可以使用ShoppingCartService来获取用户购物车中的商品:
var cart = _shoppingCartService.GetShoppingCart(_workContext.CurrentCustomer, ShoppingCartType.ShoppingCart, _storeContext.CurrentStore.Id);请考虑您必须将这些接口注入到您的控制器:IShoppingCartService, IWorkContext, IStoreContext
发布于 2019-11-05 22:44:38
public class TestStandardController : BasePluginController
{
#region Fields
private readonly IShoppingCartService _shoppingCartService;
private readonly IWorkContext _workContext;
private readonly IStoreContext _storeContext;
#endregion
#region Ctor
public TestStandardController(
IShoppingCartService shoppingCartService,
IWorkContext workContext,
IStoreContext storeContext
)
{
_shoppingCartService = shoppingCartService;
_workContext = workContext;
_storeContext = storeContext;
}
#endregion
#region Methods
public IActionResult Index()
var cart =
_shoppingCartService.GetShoppingCart(_workContext.CurrentCustomer,
ShoppingCartType.ShoppingCart, _storeContext.CurrentStore.Id);
return View("~/Plugins/Payments.test/Views/getps.cshtml");
}发布于 2019-11-18 16:50:05
IWorkContext接口具有名为CurrentCustomer的属性。WebWorkContext类实现该接口并设置客户信息。CurrentCustomer属性包含有关客户及其购物车项目的信息。要使用此属性,您需要在构造函数中注入IWorkContext接口,因为NopCommerce使用基于构造函数的依赖注入。
public class PluginController: BasePluginController
{
private readonly IWorkContext _workContext;
public PluginController(IWorkContext workContext)
{
_workContext=workContext;
}
private IActionResult GetCustomerAndShoppingCartItems()
{
var currentCustomer= _workContext.CurrentCustomer;
var shoppingCartItems= currentCustomer.ShoppingCartItems;
}
}https://stackoverflow.com/questions/58555148
复制相似问题