Developer forum

Forum » Swift » Error preventing display of productlists

Error preventing display of productlists

Jóhannes Þorkell Tómasson
Reply

Hi.

We're getting an error when trying to display a productlist in swift:

Error executing template "Designs/Swift/Paragraph/Swift_ProductListComponentParagraph.cshtml"
System.ArgumentNullException: Value cannot be null. (Parameter 'source')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
   at Dynamicweb.Content.PageService.GetPageOrLanguage(Int32 pageId, Int32 areaId)
   at CompiledRazorTemplates.Dynamic.RazorEngine_e43a972e891945d6b2fb38059c1d3c3a.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

...This only happens in a copied Website, not the original (from which it was copied). We had to get this fixed asap so after debugging I commented out the following line in the relevant ProductList* Component templates:

                itemSourcePageId = itemSourcePageId > 0 && pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID) != null ? pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID).ID : itemSourcePageId;
 

...And that fixed without breaking anything (we're not supporting multiple languages at the moment but will soon).

It should be a standard swift with DW10 setup (I'm told that during the websites setup the guide on doc.dynamicweb.dev was used for both the original and the copy) and we haven't made any modifications that should affect the ProductCatalog apps or the swift Content settings.

BR, Jóhannes


Replies

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Johannes,

When you copy a website, you must select the correct components again as the references remain linked to the old components from the original site.

Adrian

 
Jóhannes Þorkell Tómasson
Reply

Hi Adrian.

Yeah we (believe we) did that. I have a working copy locally (have had no issues there) and used it as a comparison with our staging and production setups. The relations between page and area ids looked the same in all environments and the configuration also looks the same in the Admin UI (but I very well might have missed something).

BR, Jóhannes

 

You must be logged in to post in the forum