Trixie

TRIXIE accompanies you and your pet from birth into old age, at home and on tour, for games and sports, and in every season with suitable products. In doing that, we do not only take into account the different preferences and needs of all breeds, we also keep an eye on current trends.      
In short: TRIXIE has something suitable for every animal lover in our product range. That is not only due to our wide product range with 6,500 items, but also to our excellent price-performance ratio.

Error executing template "Designs/eldorado-b2b/eCom/Productlist/eldorado-brands-products-with-filters.cshtml"
System.Exception: _dynamicwebProduct is not Active. Settings are: {"Product":null,"Id":"33618","LanguageId":null,"VariantId":"15104","PrimaryVariantId":"15104","EmbeddedInModelList":false}
at Co3.Espresso.Website.Models.FrontEnd.Ecommerce.EspressoProduct.Populate(ProductSettings settings) in F:\TeamCity\BuildAgent 1\work\ea1444d680f7414e\Co3.Espresso.Website\Models\FrontEnd\Ecommerce\EspressoProduct.cs:line 755
at Co3.EldoradoIndsalg.Website.Frontend.Models.Frontend.Ecommerce.EldoradoProduct.Populate(ProductSettings settings) in C:\Users\ThomasLarsen\source\repos\co3.eldoradoindsalg\Co3.EldoradoIndsalg.Website.Frontend\Models\Frontend\Ecommerce\EldoradoProduct.cs:line 672
at Co3.Espresso.Website.Services.ProductService.GetEspressoProduct(ProductSettings settings) in F:\TeamCity\BuildAgent 1\work\ea1444d680f7414e\Co3.Espresso.Website\Services\ProductService.cs:line 215
at CompiledRazorTemplates.Dynamic.RazorEngine_d21986399f32411ba48b889cc88d6607.<>c.<Execute>b__1_0(LoopItem productLoopItem) in D:\dynamicweb.net\Solutions\eldorado.new.LIVE\Application\Files\Templates\Designs\eldorado-b2b\eCom\Productlist\eldorado-brands-products-with-filters.cshtml:line 106
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at CompiledRazorTemplates.Dynamic.RazorEngine_d21986399f32411ba48b889cc88d6607.Execute() in D:\dynamicweb.net\Solutions\eldorado.new.LIVE\Application\Files\Templates\Designs\eldorado-b2b\eCom\Productlist\eldorado-brands-products-with-filters.cshtml:line 105
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 @using System.Collections.Specialized 2 @using System.Text 3 @using Co3.Espresso.Base.Extensions 4 @using Co3.Espresso.Website.Models.FrontEnd 5 @using Co3.Espresso.Website.Models.FrontEnd.Ecommerce 6 @using Co3.Espresso.Website.Models.FrontEnd.Handlebars 7 @using Co3.Espresso.Website.Models.FrontEnd.Settings 8 @using Co3.Espresso.Website.Services 9 @using Dynamicweb.Ecommerce 10 @using Dynamicweb.Ecommerce.Products 11 @using ProductService = Co3.Espresso.Website.Services.ProductService 12 @using System.Web 13 @using Dynamicweb.Frontend 14 @using Dynamicweb.Indexing.Querying 15 @using Dynamicweb.Modules 16 @using Newtonsoft.Json 17 @using SortInfo = Dynamicweb.Indexing.Querying.Sorting.SortInfo 18 @inherits Co3.Espresso.Website.TemplateBases.Paragraphs.Module 19 @{ 20 bool showFilters = Espresso.Item.FiltersShow == "True"; 21 bool showNavigation = Espresso.Item.NavigationShow == "True"; 22 bool showHeading = Espresso.Item.HeadingShow == "True"; 23 EspressoSort sort = ProductListService.Instance.GetSort(); 24 25 26 Properties moduleProperties = PageView.Current()?.CurrentParagraph?.ModuleProperties; 27 string moduleSortBy = sort.By; // GetString( "Ecom:ProductList.SortBy" ); 28 string moduleSortOrder = sort.Order; // GetString( "Ecom:ProductList.SortOrder" ); 29 30 if ( moduleProperties != null && moduleProperties.Values.ContainsKey( "QuerySortByParams" ) ) 31 { 32 IEnumerable< SortInfo > sortInfos = new List< SortInfo >(); 33 StringBuilder _moduleSortBy = new StringBuilder(); 34 StringBuilder _moduleSortOrder = new StringBuilder(); 35 36 if ( moduleProperties.Values[ "QuerySortByParams" ]?.ToString() != "null" ) 37 { 38 string querySortByParams = moduleProperties.Values[ "QuerySortByParams" ].ToString().Replace( "&quot;", "\"" ); 39 sortInfos = JsonConvert.DeserializeObject< IEnumerable< SortInfo > >( querySortByParams ); 40 } 41 else 42 { 43 IQuery iQuery = new QueryService().LoadQuery( "EspressoProducts", "Products" ); 44 sortInfos = iQuery.SortOrder; 45 } 46 47 foreach ( SortInfo sortOrder in sortInfos ) 48 { 49 _moduleSortBy.AppendLine( sortOrder.Field ); 50 _moduleSortOrder.AppendLine( sortOrder.SortDirection.ToString() == "Descending" ? "DESC" : "ASC" ); 51 } 52 moduleSortBy = _moduleSortBy.Replace( Environment.NewLine, "," ).ToString(); 53 moduleSortOrder = _moduleSortOrder.Replace( Environment.NewLine, "," ).ToString(); 54 moduleSortBy = moduleSortBy.Substring( 0, moduleSortBy.Length - 1 ); 55 moduleSortOrder = moduleSortOrder.Substring( 0, moduleSortOrder.Length - 1 ); 56 } 57 58 ClassList asideClasses = new ClassList(); 59 ClassList mainClasses = new ClassList(); 60 61 if ( showNavigation ) 62 { 63 asideClasses.AddClasses( "col-12 col-lg-3 col-xl-2" ); 64 mainClasses.AddClasses( "col-12 col-lg-9 col-xl-10" ); 65 } 66 else 67 { 68 asideClasses.AddClasses( "d-none" ); 69 mainClasses.AddClasses( "col-12" ); 70 } 71 72 73 HandlebarsProductListTemplate handlebarsProductListTemplate = HandlebarsService.Instance.GetProductListTemplate( new HandlebarsProductListTemplateSettings 74 { 75 Classes = new ClassList( "w-100 e-productlist js-e-productlist js-e-require" ), 76 HeaderClasses = new ClassList( "col-12" ), 77 MainClasses = mainClasses, 78 AsideClasses = asideClasses, 79 FooterClasses = new ClassList( "col-12 col-lg-3 col-xl-2" ), 80 PageSize = string.IsNullOrEmpty( HttpContext.Current.Request[ "PageSize" ] ) ? GetInteger( "Ecom:ProductList.PageSize" ).ToString() : HttpContext.Current.Request[ "PageSize" ], 81 PageNumber = string.IsNullOrEmpty( HttpContext.Current.Request[ "PageNum" ] ) ? GetInteger( "Ecom:ProductList.CurrentPage" ).ToString() : HttpContext.Current.Request[ "PageNum" ], 82 SortBy = string.IsNullOrEmpty( HttpContext.Current.Request[ "SortBy" ] ) ? moduleSortBy : HttpContext.Current.Request[ "SortBy" ], 83 SortOrder = string.IsNullOrEmpty( HttpContext.Current.Request[ "SortOrder" ] ) ? moduleSortOrder : HttpContext.Current.Request[ "SortOrder" ], 84 //SortBy = string.IsNullOrEmpty( HttpContext.Current.Request[ "SortBy" ] ) ? sort.By : HttpContext.Current.Request[ "SortBy" ], 85 //SortOrder = string.IsNullOrEmpty( HttpContext.Current.Request[ "SortOrder" ] ) ? sort.Order : HttpContext.Current.Request[ "SortOrder" ], 86 ShowFilters = showFilters, 87 ShowSorting = Espresso.Item.SortShow == "True", 88 Heading = Espresso.Item.HeadingShow == "True" ? Espresso.Item.Name : string.Empty 89 } ); 90 91 92 List< EspressoPagingPage > productListPaging = new List< EspressoPagingPage >(); 93 if ( GetLoop( "Ecom:ProductList.Pages" ).Count > 0 ) 94 { 95 foreach ( LoopItem page in GetLoop( "Ecom:ProductList.Pages" ) ) 96 { 97 productListPaging.Add( new EspressoPagingPage 98 { 99 Url = page.GetString( "Ecom:ProductList.Pages.Page.Url" ), 100 Number = page.GetString( "Ecom:ProductList.Pages.Page.Number" ) 101 } ); 102 } 103 } 104105 List< EspressoProduct > productListProducts = GetLoop( "Products" ).Select( 106 productLoopItem => ProductService.Instance.GetEspressoProduct( 107 new ProductSettings 108 { 109 Id = productLoopItem.GetString( "Ecom:Product.ID" ), 110 VariantId = productLoopItem.GetString( "Ecom:Product.VariantID" ), 111 PrimaryVariantId = productLoopItem.GetString( "Ecom:Product.DefaultVariantComboID" ), 112 EmbeddedInModelList = false 113 } 114 ) 115 ).ToList(); 116117 EspressoProductList espressoProductList = ProductListService.Instance.GetProductList( 118 new ProductListSettings 119 { 120 Products = productListProducts, 121 Paging = productListPaging, 122 PageSize = Convert.ToInt32( handlebarsProductListTemplate.PageSize ), 123 CurrentPage = Convert.ToInt32( handlebarsProductListTemplate.PageNumber ) 124 } 125 ); 126127 List< LoopItem > brandFacetOptions = GetLoop( "FacetGroups" ).FirstOrDefault( fg => fg.GetString( "FacetGroup.Name" ) == "Brands" ).GetLoop( "Facets" ).FirstOrDefault( f => f.GetString( "Facet.Name" ) == "FBrand" ).GetLoop( "FacetOptions" ).ToList(); 128129 HttpContext.Current.Items[ "CurrentGroupID" ] = Values.ContainsKey( "Ecom:Group.ID" ) ? Values[ "Ecom:Group.ID" ] : string.Empty; 130 string fBrandValue = HttpContext.Current.Request.QueryString[ "FBrand" ]; 131 } 132133 @*@using Co3.Espresso.Base.Extensions 134 @using Co3.Espresso.Base.Models 135 @using Co3.Espresso.Website.Models.FrontEnd 136 @using Co3.Espresso.Website.Models.FrontEnd.Elements 137 @using Co3.Espresso.Website.Models.FrontEnd.Settings 138 @using Co3.Espresso.Website.Services 139 @using Dynamicweb.Content 140 @using Dynamicweb.Content.Data 141 @using Dynamicweb.Core 142 @using Dynamicweb.Ecommerce 143 @using Dynamicweb.Ecommerce.Products 144 @using Dynamicweb.Ecommerce.Shops 145 @using Dynamicweb.Extensibility 146 @using Dynamicweb.Frontend 147 @using Dynamicweb.Security.Permissions 148149150 @{ 151 PageView currentPageView = PageView.Current(); 152 string areaUrlName = !string.IsNullOrEmpty( currentPageView.Area.UrlName ) ? "/" + currentPageView.Area.UrlName: ""; 153154 Group group = Services.ProductGroups.GetGroup(GetString("Ecom:Group.ID")); 155 string groupName = string.Empty; 156 string groupImage = string.Empty; 157 Shop shop = new ShopService().GetShop( PageView.Current().Area.EcomShopId ); 158 IEnumerable<Group> productGroupsPath = new List< Group >(); 159 List<dynamic> breadCrumbCollection = new List< dynamic >(); 160 string pageId = PageView.Current().Page.ID.ToString(); 161162 if (group != null) 163 { 164 groupName = group.Name; 165 groupImage = !string.IsNullOrEmpty( group.LargeImage ) ? group.LargeImage : group.ParentGroups.Count > 0 ? group.ParentGroups.FirstOrDefault()?.LargeImage : string.Empty; 166 productGroupsPath = Services.ProductGroups.FindPath(shop, group ); 167 } 168169170 foreach (ElementWithIndex< Group > _group in productGroupsPath.WithIndex() ) 171 { 172 string _link = string.Format("/Default.aspx?ID={0}&GroupID={1}", pageId, _group.Element.Id); 173 breadCrumbCollection.Add( new 174 { 175 index = _group.Index, 176 link = _link, 177 label = _group.Element.Name 178 }); 179 } 180181 ClassList sectionClasses = new ClassList(); 182183184 string hideHeaderClass = ""; 185 if ( Espresso.Item.HeadingShow == "False" ) 186 { 187 hideHeaderClass = "d-none"; 188 } 189 else 190 { 191 if(!string.IsNullOrEmpty(groupName) ) { 192 sectionClasses.AddClasses("e-section d-flex align-items-center eldorado-productlist-header"); 193194 if (!string.IsNullOrEmpty(groupImage) ) 195 { 196 groupImage = ImageService.Instance.GetImageURL( $"/Files{groupImage}", 1700, 300, 5, 90 ); 197 sectionClasses.AddClasses("e-text-light e-section-height-xs"); 198 } 199 else 200 { 201 sectionClasses.AddClasses("mt-5"); 202 } 203 } 204 else 205 { 206 sectionClasses.AddClasses("e-section d-flex align-items-center eldorado-productlist-header"); 207 } 208 } 209 <script>console.log(@JsonService.Instance.ToJson(Espresso.Item.HeadingShow));</script> 210 } 211212 @RenderingService.Instance.SectionEnd() 213214 @if ( ( bool )Espresso.Page.Item[ "HeaderHide" ] == false ) 215 { 216 <section class="@sectionClasses @hideHeaderClass" style="background-image: url('@(groupImage)')"> 217 <div class="container-fluid"> 218 <div class="row"> 219 <div class="col-12 col-md-12 col-lg-12 mx-auto"> 220 <div class="row"> 221222 <div class="p p-imagetext p-imagetext-tb col-12" > 223 <div class="row"> 224 <div class="p-txt-container col-12"> 225 <h2 class="mb-0"> 226 @groupName 227 </h2> 228 </div> 229 </div> 230 </div> 231232 </div> 233 </div> 234 </div> 235 </div> 236 </section> 237 } 238 else 239 { 240 <a class="position-relative nav-link js-e-require" data-require="cart" href="@areaUrlName/shop/cart"></a> 241 } 242243244 <section class="p p-section e-section js-e-section pt-1 "> 245 <div class="container-fluid"> 246 <div class="row"> 247 <div class="col-12 mx-auto"> 248 <div class="row"> 249 <div class="p p-imagetext p-imagetext-tb col-12"> 250251 <nav class="e-breadcrumb-container @hideHeaderClass"> 252 <ol class="breadcrumb nav p-0" itemscope itemtype="https://schema.org/BreadcrumbList"> 253 <li class="breadcrumb-item"> 254 <a href="/"> 255 @ServiceLocator.Current.GetPageService().GetFirstPageForArea( PageView.Current().Area.ID ).MenuText 256 </a> 257 </li> 258 @foreach (dynamic breadCrumbItem in breadCrumbCollection.OrderBy(bcc => bcc.index) ) 259 { 260 <li class="breadcrumb-item"> 261 <a href="@breadCrumbItem.link"> 262 @breadCrumbItem.label 263 </a> 264 </li> 265 } 266 </ol> 267 </nav> 268 *@ 269270271 <div class="@handlebarsProductListTemplate.Classes" data-current-page="@GetInteger( "Ecom:ProductList.CurrentPage" )" data-page-count="@GetLoop( "Ecom:ProductList.Pages" ).Count" data-page-size="@handlebarsProductListTemplate.PageSize" data-products-url="@Espresso.Item.ProductsUrl" data-filters-url="@Espresso.Item.ProductsUrl" data-require="productlist"> 272 <div class="row"> 273 <div class="col-12"> 274 @RenderingService.Instance.PartialView( "ecom/productlist/partials/header.cshtml", handlebarsProductListTemplate ) 275 </div> 276277 <div class="@handlebarsProductListTemplate.AsideClasses"> 278279 <div class="d-lg-block d-none"> 280 <div class="e-productlist-filters-group js-e-productlist-filters-group"> 281 <fieldset class="collapse e-productlist-filters-group-options show p-0" id="e-productlist-filters-group-navigation"> 282 <div class="e-nav-local e-nav-local-vertical mb-2"> 283 <nav class="e-nav-local-container"> 284 <ul class="flex-column nav"> 285 @{ 286 foreach ( LoopItem facetOption in brandFacetOptions.Where(bfo => bfo.GetInteger("FacetOption.Count") > 0) ) 287 { 288 string pagePath = string.Format( "/Default.aspx?ID={0}&FBrand={1}", PageView.Current().Page.ID, facetOption.GetString("FacetOption.Value") ); 289 string activeCssClass = fBrandValue == facetOption.GetString( "FacetOption.Value" ) ? "font-weight-bold" : string.Empty; 290 <li class="nav-item @activeCssClass"> 291 <a class="nav-link" href="@pagePath"> 292 <span class="e-nav-pagename">@facetOption.GetString("FacetOption.Label")</span> 293 </a> 294 </li> 295 } 296 } 297 </ul> 298 </nav> 299 </div> 300 </fieldset> 301 </div> 302 </div> 303304 @{ 305 if ( Values.ContainsKey( "Ecom:Group.ID" ) ) 306 { 307 Group productGroup = Services.ProductGroups.GetGroup( Values[ "Ecom:Group.ID" ]?.ToString() ); 308 if ( productGroup != null ) 309 { 310 string productListSidebarContentPage = productGroup.GetProductGroupFieldValue< string >( "ProductListSidebarContentPage" ); 311 if ( !string.IsNullOrEmpty( productListSidebarContentPage ) ) 312 { 313 int.TryParse( productListSidebarContentPage.Split( new[] { "=" }, StringSplitOptions.RemoveEmptyEntries ).Last(), out int productListSidebarContentPageID ); 314 if ( productListSidebarContentPageID > 0 ) 315 { 316 <div class="mt-3"> 317 @RenderPageContent( productListSidebarContentPageID ) 318 </div> 319 } 320 } 321 } 322 } 323 } 324 </div> 325326 <div class="@handlebarsProductListTemplate.MainClasses"> 327 <form class="js-e-productlist-form"> 328 <input name="PageNum" type="hidden" value="@HttpUtility.HtmlAttributeEncode( handlebarsProductListTemplate.PageNumber )"> 329 <input name="SortBy" type="hidden" value="@HttpUtility.HtmlAttributeEncode( handlebarsProductListTemplate.SortBy )"> 330 <input name="SortOrder" type="hidden" value="@HttpUtility.HtmlAttributeEncode( handlebarsProductListTemplate.SortOrder )"> 331 <input name="PageSize" type="hidden" value="@HttpUtility.HtmlAttributeEncode( handlebarsProductListTemplate.PageSize )"> 332333334 @{ 335 NameValueCollection urlParams = Dynamicweb.Context.Current.Request.QueryString; 336 List< string > paramsToIgnore = new List< string >() { "PageNum", "SortBy", "SortOrder" }; 337338 if ( handlebarsProductListTemplate.ShowFilters ) 339 { 340 foreach ( LoopItem facetGroup in GetLoop( "FacetGroups" ) ) 341 { 342 <input name="fg" type="hidden" value="@facetGroup.GetString( "FacetGroup.Name" )"> 343 } 344 } 345346 foreach ( LoopItem queryParameter in GetLoop( "Query.Parameters" ) ) 347 { 348 if ( string.IsNullOrEmpty( queryParameter.GetString( "Parameter.Value" ) ) == false ) 349 { 350 if ( queryParameter.GetBoolean( "Parameter.IsHandledAsFacet" ) == false && queryParameter.GetString( "Parameter.Name" ) != "q" ) 351 { 352 string dataAttrExcludeInUrlValue = "true"; 353 if ( urlParams[ queryParameter.GetString( "Parameter.Name" ) ] != null ) 354 { 355 dataAttrExcludeInUrlValue = string.Empty; 356 paramsToIgnore.Add( queryParameter.GetString( "Parameter.Name" ) ); 357 } 358359 <input name="@queryParameter.GetString( "Parameter.Name" )" type="hidden" value="@HttpUtility.HtmlAttributeEncode( queryParameter.GetString( "Parameter.Value" ) )" data-excludeinurl="@dataAttrExcludeInUrlValue"> 360 } 361 } 362 } 363364 foreach ( object urlParam in urlParams) 365 { 366 if ( !paramsToIgnore.Contains(urlParam.ToString()) && !paramsToIgnore.Contains(urlParam.ToString())) 367 { 368 <input name="@urlParam.ToString()" type="hidden" value="@HttpUtility.HtmlAttributeEncode( urlParams[urlParam.ToString()] )"> 369 } 370 } 371 } 372373374 @{ 375 Uri urlReferrer = HttpContext.Current.Request.UrlReferrer; 376 string urlBack = "/"; 377 if ( urlReferrer != null ) 378 { 379 urlBack = urlReferrer.LocalPath; 380 } 381 } 382383 @if ( ( bool )Espresso.Page.Item[ "HeaderHide" ] ) 384 { 385 <a class="btn btn-sm btn-secondary mb-3 align-self-center js-e-back-link order-first arrow-left" href="@urlBack"> 386 <i class="material-icons material-icons-large d-none">arrow_back</i>Tilbage 387 </a> 388 } 389390 @RenderingService.Instance.PartialView( "ecom/productlist/partials/filters-search.cshtml", Espresso ) 391392393 @RenderingService.Instance.PartialView( "ecom/productlist/partials/horizontal-filters.cshtml", Espresso ) 394 </form> 395 @RenderingService.Instance.PartialView( "ecom/productlist/partials/products.cshtml", espressoProductList ) 396 @RenderingService.Instance.PartialView( "ecom/productlist/partials/paging.cshtml", espressoProductList ) 397 @RenderingService.Instance.PartialView( "ecom/productlist/partials/footer.cshtml", handlebarsProductListTemplate ) 398 </div> 399 </div> 400 </div> 401
keyboard_arrow_up