내가 당신에게 그것을 해결하기 위해 바로 가기 방법을 보여줍니다. 첫 번째 부분 (면도칼)보기 예를 들어 _CustomPartialView
을 만든 다음
@using Nop.Core;
@using Nop.Core.Infrastructure;
@using Nop.Services.Orders;
다음 다음 nopCommerce는 depency의 해결에 접근 이미 정적 방법이 becuase 쉽게 쇼핑 카트를 조회 할 수있는 부분보기 내부 상단에 다음 using이 추가 메서드 즉 EngineContext.Current.Resolve<T>()
. 귀하의 경우 (장바구니의 경우) 다음과 같을 수 있습니다.
@{
var shoppingCartEnabled = EngineContext.Current.Resolve<Nop.Services.Security.IPermissionService>()
.Authorize(Nop.Services.Security.StandardPermissionProvider.EnableShoppingCart);
var customer = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer;
int shoppingCartItems = 0;
if (customer.HasShoppingCartItems)
{
shoppingCartItems = customer.ShoppingCartItems
.Where(sci => sci.ShoppingCartType == Nop.Core.Domain.Orders.ShoppingCartType.ShoppingCart)
.LimitPerStore(EngineContext.Current.Resolve<IStoreContext>().CurrentStore.Id)
.ToList()
.GetTotalProducts();
}
if (shoppingCartEnabled)
{
<div class="header-right pull-right wrap-cart hidden-xs ">
<div class="cart-top pull-right">
<div id="cart">
<span class="icon fa fa-shopping-cart"></span>
<div class="heading">
<a href="@Url.RouteUrl("ShoppingCart")" class="ico-cart dropdown-toggle visible-md visible-lg" data-toggle="dropdown" data-hover="dropdown">
<h4 class="cart-label">
@T("ShoppingCart")
<span>@T("ShoppingCart.HeaderQuantity", shoppingCartItems)</span>
</h4>
</a>
</div>
<div class="content">
@if (!String.IsNullOrWhiteSpace(Html.Action("FlyoutShoppingCart", "ShoppingCart").ToString()))
{
<li>@Html.Action("FlyoutShoppingCart", "ShoppingCart")</li>
}
</div>
</div>
</div>
</div>
}
}
당신이 더 많은 도움이 :)
당신 만의 쇼핑 카트 항목을 얻으려면 할 필요하면 알려주세요? –