@model ProductDetailsModel @using Nop.Core @using Nop.Core.Domain.Seo; @using Nop.Core.Infrastructure; @using Nop.Services.Localization; @using Nop.Web.Models.Catalog; @{ Layout = "~/Views/Shared/_ColumnsTwo.cshtml"; //title, meta Html.AddTitleParts(!String.IsNullOrEmpty(Model.MetaTitle) ? Model.MetaTitle : Model.Name); Html.AddMetaDescriptionParts(Model.MetaDescription); Html.AddMetaKeywordParts(Model.MetaKeywords); var seoSettings = EngineContext.Current.Resolve(); //canonical URL if (seoSettings.CanonicalUrlsEnabled) { var productUrl = Url.RouteUrl("Product", new { SeName = Model.SeName }, this.Request.Url.Scheme); Html.AddCanonicalUrlParts(productUrl); } //open graph META tags if (seoSettings.OpenGraphMetaTags) { var storeName = EngineContext.Current.Resolve().CurrentStore.GetLocalized(x => x.Name); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); } //Twitter META tags if (seoSettings.TwitterMetaTags) { var storeName = EngineContext.Current.Resolve().CurrentStore.GetLocalized(x => x.Name); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); Html.AddHeadCustomParts(""); } } @Html.Partial("_ProductBreadcrumb", Model.Breadcrumb) @Html.Widget("productdetails_after_breadcrumb", Model.Id)
@Html.Widget("productdetails_top", Model.Id) @using (Html.BeginRouteForm("Product", new { SeName = Model.SeName }, FormMethod.Post, new { id = "product-details-form" })) {
@Html.Widget("productdetails_before_pictures", Model.Id) @Html.Partial("_ProductDetailsPictures", Model) @Html.Widget("productdetails_after_pictures", Model.Id)

@Model.Name

@if (!String.IsNullOrEmpty(Model.ShortDescription)) {
@Html.Raw(Model.ShortDescription)
} @Html.Widget("productdetails_overview_top", Model.Id) @Html.Partial("_ProductManufacturers", Model.ProductManufacturers) @Html.Partial("_ProductReviewOverview", Model.ProductReviewOverview) @Html.Partial("_ProductEmailAFriendButton", Model) @Html.Partial("_CompareProductsButton", Model) @Html.Partial("_ShareButton", Model) @Html.Widget("productdetails_overview_bottom", Model.Id)
@if (!String.IsNullOrEmpty(Model.FullDescription)) {
@Html.Raw(Model.FullDescription)
}
@Html.Widget("productdetails_before_collateral", Model.Id)
@foreach (var variant in Model.AssociatedProducts) {
@if (!String.IsNullOrWhiteSpace(variant.DefaultPictureModel.ImageUrl)) {
@variant.DefaultPictureModel.AlternateText
}
@if (!String.IsNullOrWhiteSpace(variant.Name)) {
@variant.Name
} @if (!String.IsNullOrWhiteSpace(variant.ShortDescription)) {
@Html.Raw(variant.ShortDescription)
} @Html.Partial("_DownloadSample", variant) @Html.Partial("_ProductTierPrices", variant.TierPrices) @{ var dataDictAttributes = new ViewDataDictionary(); dataDictAttributes.TemplateInfo.HtmlFieldPrefix = string.Format("attributes_{0}", variant.Id); @Html.Partial("_ProductAttributes", variant.ProductAttributes, dataDictAttributes) } @Html.Partial("_SKU_Man_Stock", variant) @Html.Partial("_BackInStockSubscription", variant) @{ var dataDictGiftCard = new ViewDataDictionary(); dataDictGiftCard.TemplateInfo.HtmlFieldPrefix = string.Format("giftcard_{0}", variant.Id); @Html.Partial("_GiftCardInfo", variant.GiftCard, dataDictGiftCard) } @{ var dataDictRental = new ViewDataDictionary(); dataDictRental.TemplateInfo.HtmlFieldPrefix = string.Format("rental_{0}", variant.Id); @Html.Partial("_RentalInfo", variant, dataDictRental) } @{ var dataDictPrice = new ViewDataDictionary(); dataDictPrice.TemplateInfo.HtmlFieldPrefix = string.Format("price_{0}", variant.Id); @Html.Partial("_ProductPrice", variant.ProductPrice, dataDictPrice) } @{ var dataDictAddToCart = new ViewDataDictionary(); dataDictAddToCart.TemplateInfo.HtmlFieldPrefix = string.Format("addtocart_{0}", variant.Id); @Html.Partial("_AddToCart", variant.AddToCart, dataDictAddToCart) }
} @if (Model.AssociatedProducts.Count == 0) {
@T("Products.NoAssociatedProducts")
}
@Html.Partial("_ProductSpecifications", Model.ProductSpecifications) @Html.Partial("_ProductTags", Model.ProductTags) @*we do not display "also purchased" for grouped products @Html.Action("ProductsAlsoPurchased", "Product", new { productId = Model.Id })*@ @Html.Action("RelatedProducts", "Product", new { productId = Model.Id })
} @Html.Widget("productdetails_bottom", Model.Id)