An error occurred while attaching module (Dynamicweb.Frontend.Content)
System.NullReferenceException: Object reference not set to an instance of an object.
at Dynamicweb.Ecommerce.ProductCatalog.ProductCatalogFrontend.RenderProduct(String productId, String variantId, String groupId, ProductCatalogSettings settings)
at Dynamicweb.Ecommerce.ProductCatalog.ProductCatalogFrontend.GetContent()
at Dynamicweb.Frontend.Content.GetModuleOutput(Paragraph paragraph, PageView pageview)
System.NullReferenceException: Object reference not set to an instance of an object. at Dynamicweb.Ecommerce.ProductCatalog.ProductCatalogFrontend.RenderProduct(String productId, String variantId, String groupId, ProductCatalogSettings settings) at Dynamicweb.Ecommerce.ProductCatalog.ProductCatalogFrontend.GetContent() at Dynamicweb.Frontend.Content.GetModuleOutput(Paragraph paragraph, PageView pageview)
Error executing template "Designs/Swift/Paragraph/Swift_ProductNumber.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_c7008321e3d5415a9b19def758fd8e31.Execute() in C:\inetpub\wwwroot\AllMedia\Production\Files\Templates\Designs\Swift\Paragraph\Swift_ProductNumber.cshtml:line 38 at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 4 @{ 5 ProductViewModel product = new ProductViewModel(); 6 7 ProductViewModelSettings productSetting = new ProductViewModelSettings 8 { 9 LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID, 10 CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code, 11 CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2, 12 ShopId = Pageview.Area.EcomShopId 13 }; 14 15 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 16 { 17 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 18 } else if (Pageview.Item["DummyProduct"] != null) { 19 string dummyProductId = ""; 20 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 21 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 22 if (productList.Products != null) 23 { 24 foreach (var p in productList.Products) { dummyProductId = p.Id; } 25 ProductViewModel dummyProduct = dummyProductId != "" ? ViewModelFactory.CreateView(productSetting, dummyProductId) : new ProductViewModel(); 26 product = dummyProduct; 27 } else { 28 product = ViewModelFactory.CreateView(productSetting, Dynamicweb.Ecommerce.Services.Products.GetLastActiveProducts(1, Dynamicweb.Ecommerce.Common.Context.LanguageID, false).FirstOrDefault().Id); 29 } 30 } else if (Pageview.Item["DummyProduct"] == null) { 31 product = ViewModelFactory.CreateView(productSetting, Dynamicweb.Ecommerce.Services.Products.GetLastActiveProducts(1, Dynamicweb.Ecommerce.Common.Context.LanguageID, false).FirstOrDefault().Id); 32 } 33 34 string horizontalAlign = Model.Item.GetRawValueString("HorizontalAlignment", ""); 35 horizontalAlign = horizontalAlign == "center" ? "text-center" : horizontalAlign; 36 horizontalAlign = horizontalAlign == "end" ? "text-end" : horizontalAlign; 37 38 var vendorName = product?.ProductFields["VendorName"]?.Value.ToString() ?? ""; 39 } 40 41 @if (!Model.Item.GetBoolean("HideProductNumber") && product.Id != null) { 42 <div class="fs-7 opacity-85 @horizontalAlign item_@Model.Item.SystemName.ToLower()" itemprop="sku"><span class="me-1">@Translate("Code"):</span>@product.Number</div> 43 } else if (Pageview.IsVisualEditorMode) { 44 <div class="alert alert-warning">@Translate("No products available")</div> 45 } 46 47 @*if(!string.IsNullOrEmpty(vendorName)) { 48 <div class="fs-7 opacity-85 @horizontalAlign"><span class="me-1">@Translate("vendor name"):</span>@vendorName</div> 49 }*@ 50 51
Error executing template "/Designs/Swift/Paragraph/ALLM_RelatedProductsList.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_2d40a5683a4b4800aa689b7740b36291.Execute() in C:\inetpub\wwwroot\AllMedia\Production\Files\Templates\Designs\Swift\Paragraph\ALLM_RelatedProductsList.cshtml:line 54 at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 @using Dynamicweb.Frontend 4 5 @{ 6 ProductViewModel product = new ProductViewModel(); 7 8 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 9 { 10 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 11 } 12 13 string servicePageId = Model.Item.GetLink("ServicePage") != null ? Model.Item.GetLink("ServicePage").PageId.ToString() : ""; 14 servicePageId = servicePageId == "" && GetPageIdByNavigationTag("RelatedProductsListService") != 0 ? GetPageIdByNavigationTag("RelatedProductsListService").ToString() : servicePageId; 15 string pageSize = Model.Item.GetInt32("PageSize") != 0 ? Model.Item.GetString("PageSize") : "10"; 16 17 IEnumerable<string> selectedDisplayGroups = Model.Item.GetRawValueString("Fields").Split(',').ToList(); 18 string selectedDisplayGroupsString = selectedDisplayGroups.Count() > 0 ? (string.Join(",", selectedDisplayGroups.Select(x => x.ToString()).ToArray())) : ""; 19 20 string title = !string.IsNullOrEmpty(Model.Item.GetString("Title")) ? Model.Item.GetString("Title") : ""; 21 string hideTitle = Model.Item.GetBoolean("HideTitle").ToString(); 22 string hideImage = Model.Item.GetBoolean("HideImage").ToString(); 23 string hideProductNumber = Model.Item.GetBoolean("HideProductNumber").ToString(); 24 string hideProductName = Model.Item.GetBoolean("HideProductName").ToString(); 25 string hideStock = (Model.Item.GetBoolean("HideStock") || Pageview.AreaSettings.GetBoolean("ErpDownHideStock") && !Dynamicweb.Ecommerce.DynamicwebLiveIntegration.TemplatesHelper.IsWebServiceConnectionAvailable()).ToString(); 26 string quantitySelector = Model.Item.GetBoolean("QuantitySelector").ToString(); 27 28 string campaignValues = string.Join(",", Model.Item.GetList("CampaignBadges").SelectedValues.ToArray()); 29 30 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 31 string modalTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("ModalTheme")) ? " theme " + Model.Item.GetRawValueString("ModalTheme").Replace(" ", "").Trim().ToLower() : ""; 32 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "display-6"); 33 34 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 35 contentPadding = contentPadding == "small" ? "p-2 p-md-3" : contentPadding; 36 contentPadding = contentPadding == "large" ? "p-4 p-md-5" : contentPadding; 37 38 //Source type 39 string sourceType = Model.Item.GetRawValueString("SourceType", "variants"); 40 IList<string> relateFromProductIds = new List<string>{}; 41 42 //--- RELATED PRODUCTS --- 43 if (sourceType == "related-products" && product?.RelatedGroups != null) { 44 foreach (var group in product.RelatedGroups) 45 { 46 foreach (var relatedProduct in group.Products) 47 { 48 relateFromProductIds.Add(relatedProduct.ProductId); 49 } 50 } 51 } 52 53 //Create group id collection and products id collection strings 54 string groupId = product.PrimaryOrDefaultGroup.Id; 55 string productIds = sourceType == "related-products" ? string.Join(",", relateFromProductIds) : product.Id; 56 57 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Ecommerce.DynamicwebLiveIntegration.TemplatesHelper.IsLazyLoadingForProductInfoEnabled; 58 } 59 60 61 62 @if (!Pageview.IsVisualEditorMode) 63 { 64 if(product.VariantInfo.VariantInfo != null && sourceType == "variants") { 65 <div id="RelatedProductsListContainer_@Pageview.CurrentParagraph.ID" class="item_@Model.Item.SystemName.ToLower()"> 66 @* Initial form for first load (We pass all the settings to the actual template) *@ 67 <form action="/Default.aspx?ID=@servicePageId" id="RelatedProductsListForm_@Pageview.CurrentParagraph.ID" data-response-target-element="RelatedProductsListContainer_@Pageview.CurrentParagraph.ID"> 68 <input type="hidden" name="SortOrder" value="DESC"> 69 <input type="hidden" name="ID" value="@servicePageId"> 70 <input type="hidden" name="SourceType" value="@sourceType"> 71 <input type="hidden" name="ParagraphID" value="@Pageview.CurrentParagraph.ID"> 72 <input type="hidden" name="PageSize" value="@pageSize" id="RelatedProductsListPageSize_@Pageview.CurrentParagraph.ID"> 73 <input type="hidden" name="PageSizeSetting" value="@pageSize"> 74 <input type="hidden" name="Title" value="@title"> 75 <input type="hidden" name="HideTitle" value="@hideTitle"> 76 <input type="hidden" name="SelectedDisplayGroups" value="@selectedDisplayGroupsString"> 77 <input type="hidden" name="HideImage" value="@hideImage"> 78 <input type="hidden" name="HideProductNumber" value="@hideProductNumber"> 79 <input type="hidden" name="HideProductName" value="@hideProductName"> 80 <input type="hidden" name="HideStock" value="@hideStock"> 81 <input type="hidden" name="QuantitySelector" value="@quantitySelector"> 82 <input type="hidden" name="Theme" value="@theme"> 83 <input type="hidden" name="ModalTheme" value="@modalTheme"> 84 <input type="hidden" name="TitleFontSize" value="@titleFontSize"> 85 <input type="hidden" name="ContentPadding" value="@contentPadding"> 86 @if (isLazyLoadingForProductInfoEnabled) 87 { 88 <input type="hidden" name="getproductinfo" value="true"> 89 } 90 91 @*--- VARIANTS ---*@ 92 @if (sourceType == "variants") 93 { 94 <input type="hidden" name="MainProductID" value="@productIds"> 95 } 96 97 @*--- MOST SOLD ---*@ 98 @if (sourceType == "most-sold") 99 { 100 <input type="hidden" name="SortBy" value="OrderCount"> 101 <input type="hidden" name="GroupId" value="@groupId"> 102 } 103 104 @*--- TRENDING ---*@ 105 @if (sourceType == "trending") 106 { 107 <input type="hidden" name="SortBy" value="OrderCountGrowth"> 108 <input type="hidden" name="GroupId" value="@groupId"> 109 } 110 111 @*--- LATEST ---*@ 112 @if (sourceType == "latest") 113 { 114 <input type="hidden" name="SortBy" value="Created"> 115 <input type="hidden" name="GroupId" value="@groupId"> 116 } 117 118 @*--- FREQUENTLY BOUGHT ---*@ 119 @if (sourceType == "frequently") 120 { 121 <input type="hidden" name="BoughtWithProductIds" value="[@productIds]"> 122 } 123 124 @*--- RELATED PRODUCTS ---*@ 125 @if (sourceType == "related-products") 126 { 127 <input type="hidden" name="MainProductID" value="@productIds"> 128 } 129 130 @if (sourceType != "variants") 131 { 132 <input type="hidden" name="isVariant" value="false"> 133 <input type="hidden" name="OnlyShowVariants" value="false"> 134 } 135 else 136 { 137 <input type="hidden" name="isVariant" value="true"> 138 <input type="hidden" name="OnlyShowVariants" value="true"> 139 140 } 141 142 <input type="hidden" name="SaleBadgeType" value="@Model.Item.GetRawValue("SaleBadgeType")"> 143 <input type="hidden" name="SaleBadgeCssClassName" value="@Model.Item.GetRawValue("SaleBadgeDesign")"> 144 <input type="hidden" name="NewBadgeCssClassName" value="@Model.Item.GetRawValue("NewBadgeDesign")"> 145 <input type="hidden" name="NewPublicationDays" value="@Model.Item.GetInt32("NewPublicationDays")"> 146 147 148 @if (campaignValues != "") 149 { 150 <input type="hidden" name="CampaignBadgesValues" value="@campaignValues"> 151 } 152 </form> 153 </div> 154 155 156 <script type="module"> 157 swift.PageUpdater.Update(document.querySelector("#RelatedProductsListForm_@Pageview.CurrentParagraph.ID")); 158 </script> 159 160 <script> 161 var UpdateRelatedProductsList = function(event, type, id) { 162 var targetElement = "RelatedProductsListContainer_" + id; 163 164 if (type == "UpdateFacets") { 165 targetElement = "RelatedProductsListFacets_" + id; 166 } 167 168 document.querySelector('#RelatedProductsListRequestType_' + id).value = type; 169 document.querySelector('#RelatedProductsListForm_' + id).setAttribute("data-response-target-element", targetElement); 170 171 swift.PageUpdater.Update(document.querySelector("#RelatedProductsListForm_" + id)); 172 }; 173 </script> 174 } 175 } else { 176 <div class="alert alert-info" role="alert"> 177 <span>@Translate("Related products list")</span> 178 </div> 179 } 180
Sorry. There is nothing to view here