Plugins 列表项、客户和商业

Plugins 列表项、客户和商业,plugins,nopcommerce,Plugins,Nopcommerce,如何使用非常简单的代码获取购物车中的物品列表?(我需要一个控制器,插件) 它应该是4.20版的 如果客户已登录,还可以获取客户信息? 如果客户未登录,则在下订单时创建一个新帐户。您可以使用ShoppingCartService获取用户购物车的物品: var cart = _shoppingCartService.GetShoppingCart(_workContext.CurrentCustomer, ShoppingCartType.ShoppingCart, _storeContext.Cu

如何使用非常简单的代码获取购物车中的物品列表?(我需要一个控制器,插件) 它应该是4.20版的

如果客户已登录,还可以获取客户信息?
如果客户未登录,则在下订单时创建一个新帐户。

您可以使用ShoppingCartService获取用户购物车的物品:

var cart = _shoppingCartService.GetShoppingCart(_workContext.CurrentCustomer, ShoppingCartType.ShoppingCart, _storeContext.CurrentStore.Id);

请考虑将这些接口注入到您的控制器:<代码> IsopPoCultService,IWorkConnices,IStoreContext < /Cult>

< P> 1)<代码> iWorkWorks接口具有“代码> CurrurtCuthue/Cuff>的属性。<代码> WebWorkContext < /Cord>类实现接口并设置客户信息。
CurrentCustomer
属性包含有关客户及其购物车项目的信息

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");
    }
要使用此属性,您需要在构造函数中插入
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;
    }
}

嗨,我有测试,它的工作,我得到了每个循环的所有项目,我会尝试这个,我也会更新客户的地址,当客户选择发票,我们将只发送到服装设计师的生活地址。下单时有没有简单的为什么要更改地址?