Error executing template "/Designs/Swift/Paragraph/01_RIT_Swift_ArticleList.cshtml"
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Dynamicweb.Content.Items.Metadata.FieldOptionMetadataItemSource.get_SourceItems()
at Dynamicweb.Content.Items.Metadata.FieldOptionMetadataItemSource.get_Values()
at Dynamicweb.Content.Items.Rendering.Renderer.RenderOptions(ItemField field, Object value, String tagPrefix, Template template)
at Dynamicweb.Content.Items.Rendering.Renderer.RenderItemField(ItemField field, Object value, Dictionary`2 validationErrors, Boolean allowEditing, Template template, String tagPrefix, ItemEntry itemEntry)
at Dynamicweb.Content.Items.Rendering.Renderer.RenderItem(ItemEntry item, ItemSettings settings)
at Dynamicweb.Content.Items.Rendering.Renderer.RenderItems(IEnumerable`1 items, ItemListSettings settings)
at Dynamicweb.ItemPublisher.Frontend.List()
at Dynamicweb.ItemPublisher.Frontend.GetContent()
at Dynamicweb.ItemPublisher.Frontend.GetContentBySettings(String settings)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Dynamicweb.Extensibility.AddIns.AddInManager.InvokeFunction(Object instance, String functionName, Object[] arguments)
at Dynamicweb.Rendering.TemplateBase`1.RenderItemList(Object settings)
at CompiledRazorTemplates.Dynamic.RazorEngine_e153afbd5b144ab08b690a5718629d41.<>c__DisplayClass0_0.<RenderArticleList>b__0(TextWriter __razor_helper_writer) in E:\Solutions\Fineman\Files\Templates\Designs\Swift\Paragraph\01_RIT_Swift_ArticleList.cshtml:line 27
at CompiledRazorTemplates.Dynamic.RazorEngine_e153afbd5b144ab08b690a5718629d41.Execute() in E:\Solutions\Fineman\Files\Templates\Designs\Swift\Paragraph\01_RIT_Swift_ArticleList.cshtml:line 15
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
3 @{
4 string listSource = Model.Item.GetRawValueString("ListSource", Model.PageID.ToString());
5 string listBehaviour = Model.Item.GetRawValueString("ListBehaviour", "articles");
6 string articleListSortOrder = Model.Item.GetRawValueString("ArticleListSortOrder");
7 string articleListLayout = Model.Item.GetRawValueString("ArticleListLayout", "grid");
8 string columnTheme = Model.Item.GetRawValueString("ColumnTheme", string.Empty).ToString().Replace(" ", "").Trim().ToLower();
9 string columnThemeClass = columnTheme != string.Empty ? " theme " + columnTheme + " p-3" + (articleListLayout == "carousel" ? " px-lg-4" : string.Empty) : string.Empty;
10
11 int maxItemsInList = !string.IsNullOrEmpty(Model.Item.GetInt32("MaxItemsInList").ToString()) ? Model.Item.GetInt32("MaxItemsInList") : 10;
12
13 <div class="h-100@(columnThemeClass) item_@Model.Item.SystemName.ToLower()">
14 <div id="@Model.ID" class="user-select-none" style="scroll-margin-top:var(--header-height,150px)"></div>
15 @RenderArticleList("Swift_Article", listSource, maxItemsInList, articleListSortOrder)
16 </div>
17 }
18
19 @helper RenderArticleList(string itemType, string listSource, int maxItemsInList, string articleListSortOrder)
20 {
21 var parent = Dynamicweb.Context.Current.Request.QueryString.Get("list");
22 var query = string.IsNullOrEmpty(parent) ? listSource : parent;
23 var includeAllChildren = Model.Item.GetRawValueString("ListDepth", "all") == "all" ? true : false;
24 var listContext = Model.Item?.GetRawValueString("ListContext", string.Empty).Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
25 var filterString = string.Join(" or ", listContext.Select(item => $"Tags == \"{item}\" or Tags ends with \",{item}\" or Tags starts with \"{item},\" or Tags contains \",{item},\""));
26
27 @RenderItemList(new
28 {
29 ItemType = itemType,
30 ListTemplate = "ItemPublisher/List/RIT_List.cshtml",
31 ItemFieldsList = "*",
32 ListSourceType = "Page",
33 ListSourcePage = query,
34 ListPageSize = maxItemsInList,
35 IncludeParagraphItems = true,
36 ListOrderBy = "Sort",
37 ListSecondOrderBy = "Updated",
38 ListOrderByDirection = articleListSortOrder,
39 IncludeAllChildItems = includeAllChildren,
40 Filter = itemType == "Swift_Article" ? filterString : null // Filter only if "articles only"
41 })
42 }
43