Topbanner



VI GØR FREMTIDEN GRØNNERE

GØR FREMTIDEN GRØNNERE

Nordahl Andersen fik i 2020 etableret en bæredygtighedsgruppe, som straks tog hul på arbejdet med bæredygtighed det på strategisk niveua. Samtidig har det været vigtigt for os løbende at foretage ændringer, som hver især styrker den samlede indsats. Med andre ord tør vi godt, at sætte kursen på lang sigt, men vi er også i arbejdstøjet og føler stor tilfredshed ved hver eneste gennemført ændring til det bedre.

Vi ønsker at bringe virksomheden ind i fremtiden med et øget fokus på bæredygtughed og sikre rettidig omhu i forhold til kundernes krav, vores egen samvittighed, samt til eksisterende og kommende lovgivning.

Vi tager ansvar for vores handlinger og fokuserer på at træffe bedre valg i og uden for virksomheden. 
Vi er opmærksomme på, at alt, vi gør, efterlader sociale og miljømssige spor. Vi søger i størst mulig udstrækning løsninger med neutrl miljømæssig påvirkning og positiv social indflydelse.

Vi har allerede implementeret flere grønne initiativer og vil løbende implementere flere.
Det er alt lige fra anvendelse af genbrugsmaterialer i vores smykker til at indføre et alternativ til bobleplast i vores forsendelser.

Vi ønsker at gøre verden grønnere end den er i dag, og det kan vi gøre sammen.

Vi har valgt at arbejde med bæredygtighed inden for 8 ud af 17 af FN's verdensmål for bæredygtighed.

FN1
FN3
FN8
FN9
FN10
FN12
FN13
FN15

De 8 valgte verdensmål er dem vi mener Nordahl Andersen kan gøre den største forskel ved.

Værdikæde

(Reducere negativ indvirkning - øge positiv indvirkning)

Værdikæden er udarbejdet med henblik på at identificere og synliggøre risici og muligheder.
Værdikæden er vores primære arbejdsværktøj i det daglige arbejde.

fn

SOS-børnebyerne

Vi samarbejder med SOS-børnebyerne. Hvert år til jul donerer vi 500 særlige H.C. Andersen produkter til en værdi af 97.500 kr-. som anvendes til hvervegaver og dermed sikrer 500 nye børn SOS-faddere. Vores hjerter banker for børnene, fadderne og alle, som gør en indsats for, at disse børn får en meget bedre tilværelse, end de umiddelbart kunne forvente.

Banner
Error compiling template "Designs/NordahlAndersen/eCom/ProductCatalog/slider_ListView_without_header_h1.cshtml"
Line 102: 'Services' is an ambiguous reference between 'Dynamicweb.Content.Services' and 'Dynamicweb.Ecommerce.Services'

1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // This code was generated by a tool. 4 // Runtime Version:4.0.30319.42000 5 // 6 // Changes to this file may cause incorrect behavior and will be lost if 7 // the code is regenerated. 8 // </auto-generated> 9 //------------------------------------------------------------------------------ 10 11 namespace CompiledRazorTemplates.Dynamic { 12 using System; 13 using System.Collections.Generic; 14 15 #line 4 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 16 using System.Linq; 17 18 #line default 19 #line hidden 20 21 #line 1 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 22 using Dynamicweb.Content; 23 24 #line default 25 #line hidden 26 27 #line 2 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 28 using Dynamicweb.Ecommerce; 29 30 #line default 31 #line hidden 32 33 #line 3 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 34 using NORRIQ.Common8.Context; 35 36 #line default 37 #line hidden 38 39 #line 5 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 40 using Dynamicweb.Modules; 41 42 #line default 43 #line hidden 44 45 #line 6 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 46 using Newtonsoft.Json; 47 48 #line default 49 #line hidden 50 51 #line 7 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 52 using Newtonsoft.Json.Linq; 53 54 #line default 55 #line hidden 56 57 #line 8 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 58 using NordahlAndersen.Web.CustomCode.Products.Helpers; 59 60 #line default 61 #line hidden 62 63 #line 9 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 64 using Page = Dynamicweb.Content.Page; 65 66 #line default 67 #line hidden 68 69 #line 10 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 70 using ParagraphService = Dynamicweb.Content.ParagraphService; 71 72 #line default 73 #line hidden 74 75 76 public class RazorEngine_5cc13775e4884d869b034e14c349ba1e : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Ecommerce.ProductCatalog.ProductListViewModel> { 77 78 #line hidden 79 80 public RazorEngine_5cc13775e4884d869b034e14c349ba1e() { 81 } 82 83 public override void Execute() { 84 85 #line 12 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 86 87 string basicListViewPrefix = "PLP "; 88 89 90 #line default 91 #line hidden 92 WriteLiteral("\r\n\r\n"); 93 94 WriteLiteral("\r\n\r\n\r\n"); 95 96 97 #line 20 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 98 99 var pdpLink = NORRIQ.Common8.Razor.Navigation.GetUrlByNavigationTag("plp"); 100 var query = Dynamicweb.Context.Current.Request["productsearch"]; 101 var group = Dynamicweb.Context.Current.Request["GroupID"] != null 102 ? Services.ProductGroups.GetGroup(Dynamicweb.Context.Current.Request["GroupID"]) 103 : null; 104 var groupName = group != null ? group.Name : Pageview.CurrentParagraph.Header; 105 var groupDescription = group != null ? group.Description : ""; 106 var userStatus = Pageview.User != null ? "is-b2b" : "is-b2c"; 107 string qc = System.Web.HttpUtility.HtmlDecode(Pageview.CurrentParagraph.ModuleProperties["QueryConditions"]); 108 var sliderGroupId = "GROUP23"; 109 110 if (!string.IsNullOrEmpty(qc)) 111 { 112 var queryValues = JsonConvert.DeserializeObject<ParagraphValue[]>(qc); 113 if (queryValues != null && queryValues.FirstOrDefault(x => x.Name == "GroupId") != null) 114 { 115 sliderGroupId = queryValues.FirstOrDefault(x => x.Name == "GroupId")?.DefaultValue; 116 } 117 } 118 119 120 #line default 121 #line hidden 122 WriteLiteral("\r\n<productlist-slider-listview inline-template"); 123 124 WriteAttribute("group-id", Tuple.Create(" group-id=\"", 1694), Tuple.Create("\"", 1719) 125 126 #line 41 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 127 , Tuple.Create(Tuple.Create("", 1705), Tuple.Create<System.Object, System.Int32>(sliderGroupId 128 129 #line default 130 #line hidden 131 , 1705), false) 132 ); 133 134 WriteAttribute(":paragraph-id", Tuple.Create(" :paragraph-id=\"", 1720), Tuple.Create("\"", 1770) 135 136 #line 41 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 137 , Tuple.Create(Tuple.Create("", 1736), Tuple.Create<System.Object, System.Int32>(this.Pageview.CurrentParagraph.ID 138 139 #line default 140 #line hidden 141 , 1736), false) 142 ); 143 144 WriteAttribute(":key", Tuple.Create(" :key=\"", 1771), Tuple.Create("\"", 1812) 145 146 #line 41 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 147 , Tuple.Create(Tuple.Create("", 1778), Tuple.Create<System.Object, System.Int32>(this.Pageview.CurrentParagraph.ID 148 149 #line default 150 #line hidden 151 , 1778), false) 152 ); 153 154 WriteLiteral(">\r\n <div"); 155 156 WriteLiteral(" v-bind:class=\"{\'initialized\' : initialized}\""); 157 158 WriteLiteral(">\r\n <template"); 159 160 WriteLiteral(" v-if=\"queryLoading\""); 161 162 WriteLiteral(">\r\n <div"); 163 164 WriteLiteral(" class=\"text-center\""); 165 166 WriteLiteral(">\r\n <span"); 167 168 WriteLiteral(" class=\"spinner-xl-default\""); 169 170 WriteLiteral("></span>\r\n </div>\r\n </template>\r\n <slick"); 171 172 WriteLiteral(" ref=\"slick\""); 173 174 WriteLiteral("\r\n :options=\"slickPlpOptions\""); 175 176 WriteLiteral("\r\n class=\"plp plp-products slide\""); 177 178 WriteLiteral("\r\n v-show=\"!queryLoading\""); 179 180 WriteAttribute("id", Tuple.Create("\r\n id=\"", 2205), Tuple.Create("\"", 2260) 181 182 #line 52 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 183 , Tuple.Create(Tuple.Create("", 2226), Tuple.Create<System.Object, System.Int32>(this.Pageview.CurrentParagraph.ID 184 185 #line default 186 #line hidden 187 , 2226), false) 188 ); 189 190 WriteLiteral("\r\n >\r\n <template"); 191 192 WriteLiteral(" v-for=\"(product, index) in pList.products\""); 193 194 WriteLiteral(">\r\n <article itemscope"); 195 196 WriteLiteral(" itemtype=\"https://schema.org/Product\""); 197 198 WriteLiteral(" v-if=\"product.id\""); 199 200 WriteLiteral(" v-bind:key=\"product.id + product.variantId\""); 201 202 WriteLiteral(" class=\"plp-product position-relative\""); 203 204 WriteLiteral(">\r\n <meta"); 205 206 WriteLiteral(" itemprop=\"name\""); 207 208 WriteLiteral(" :content=\"product.name\""); 209 210 WriteLiteral(" />\r\n <div"); 211 212 WriteLiteral(" class=\"plp-product-image text-center position-relative\""); 213 214 WriteLiteral(">\r\n <span"); 215 216 WriteLiteral(" class=\"plp-product-badge bg-primary text-white d-flex justify-content-center ali" + 217 "gn-items-center\""); 218 219 WriteLiteral(" style=\"z-index: 20;\""); 220 221 WriteLiteral(" v-if=\"isNewProduct(product)\""); 222 223 WriteLiteral(">"); 224 225 226 #line 58 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 227 Write(Translate("New", "New")); 228 229 230 #line default 231 #line hidden 232 WriteLiteral("</span>\r\n"); 233 234 235 #line 59 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 236 237 238 #line default 239 #line hidden 240 241 #line 59 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 242 if (Pageview.User != null) 243 { 244 245 246 #line default 247 #line hidden 248 WriteLiteral(" <favorite-item"); 249 250 WriteLiteral(" :product=\"product\""); 251 252 WriteLiteral("></favorite-item>\r\n"); 253 254 255 #line 62 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 256 } 257 258 259 #line default 260 #line hidden 261 WriteLiteral(" <figure"); 262 263 WriteLiteral(" v-if=\"product.images.length > 0 && product.defaultImage\""); 264 265 WriteLiteral(" class=\"image is-1by1\""); 266 267 WriteLiteral(">\r\n <img"); 268 269 WriteLiteral(" :src=\"\'/Admin/Public/GetImage.ashx?Width=480&amp;Height=480&amp;Crop=5&amp;fillc" + 270 "anvas=true&amp;Image=\' + product.defaultImage.path\""); 271 272 WriteLiteral("\r\n :alt=\"product.name\""); 273 274 WriteLiteral(" itemprop=\"image\""); 275 276 WriteLiteral(" class=\"img-fluid\""); 277 278 WriteLiteral(" loading=\"lazy\""); 279 280 WriteLiteral(" />\r\n </figure>\r\n <figure v-else"); 281 282 WriteLiteral(" class=\"image is-1by1\""); 283 284 WriteLiteral(">\r\n <img"); 285 286 WriteLiteral(" src=\"/Admin/Public/GetImage.ashx?Width=300&amp;Height=300&amp;Crop=5&amp;fillcan" + 287 "vas=true&amp;Image=/Files/Images/default.jpg\""); 288 289 WriteAttribute("alt", Tuple.Create("\r\n alt=\"", 3716), Tuple.Create("\"", 3832) 290 291 #line 69 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 292 , Tuple.Create(Tuple.Create("", 3756), Tuple.Create<System.Object, System.Int32>(Translate(basicListViewPrefix + "No product picture", "No product picture") 293 294 #line default 295 #line hidden 296 , 3756), false) 297 ); 298 299 WriteLiteral("\r\n itemprop=\"image\""); 300 301 WriteLiteral("\r\n class=\"img-fluid\""); 302 303 WriteLiteral("\r\n loading=\"lazy\""); 304 305 WriteLiteral(" />\r\n </figure>\r\n </div>\r\n " + 306 " <div"); 307 308 WriteAttribute("class", Tuple.Create(" class=\"", 4077), Tuple.Create("\"", 4113) 309 , Tuple.Create(Tuple.Create("", 4085), Tuple.Create("plp-product-data", 4085), true) 310 311 #line 75 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 312 , Tuple.Create(Tuple.Create(" ", 4101), Tuple.Create<System.Object, System.Int32>(userStatus 313 314 #line default 315 #line hidden 316 , 4102), false) 317 ); 318 319 WriteLiteral(" itemprop=\"offers\""); 320 321 WriteLiteral(" itemscope"); 322 323 WriteLiteral(" itemtype=\"http://schema.org/Offer\""); 324 325 WriteLiteral(">\r\n <header>\r\n <h1"); 326 327 WriteLiteral(" itemprop=\"name\""); 328 329 WriteLiteral(" class=\"font-size-md font-weight-bold\""); 330 331 WriteLiteral(">{{product.name}}</h1>\r\n </header>\r\n " + 332 " <div"); 333 334 WriteLiteral(" class=\"plp-group\""); 335 336 WriteLiteral(">\r\n <async-price"); 337 338 WriteLiteral(" class-type=\"plp-product-price\""); 339 340 WriteLiteral("\r\n :default-price-without-vat=\"product.pr" + 341 "ice.priceWithoutVat\""); 342 343 WriteLiteral("\r\n :default-price-with-vat=\"product.price" + 344 ".priceWithVat\""); 345 346 WriteLiteral("\r\n :default-list-price-without-vat=\"produ" + 347 "ct.listPrice.priceWithoutVat\""); 348 349 WriteLiteral("\r\n :default-list-price-with-vat=\"product." + 350 "listPrice.priceWithVat\""); 351 352 WriteLiteral("\r\n :product-number=\"product.number\""); 353 354 WriteLiteral("\r\n :variant-id=\"product.defaultVariantId\"" + 355 ""); 356 357 WriteLiteral("\r\n :unit-of-measure=\"product.defaultUnitI" + 358 "d\""); 359 360 WriteAttribute("default-currency-code", Tuple.Create("\r\n default-currency-code=\"", 5127), Tuple.Create("\"", 5222) 361 362 #line 88 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 363 , Tuple.Create(Tuple.Create("", 5193), Tuple.Create<System.Object, System.Int32>(Pageview.Area.EcomCurrencyId 364 365 #line default 366 #line hidden 367 , 5193), false) 368 ); 369 370 WriteLiteral("\r\n :only-price=\"false\""); 371 372 WriteAttribute(":show-default-price", Tuple.Create("\r\n :show-default-price=\"", 5285), Tuple.Create("\"", 5397) 373 374 #line 90 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 375 , Tuple.Create(Tuple.Create("", 5349), Tuple.Create<System.Object, System.Int32>((Pageview.User == null).ToString()?.ToLower() 376 377 #line default 378 #line hidden 379 , 5349), false) 380 ); 381 382 WriteLiteral(">\r\n </async-price>\r\n\r\n\r\n <d" + 383 "iv"); 384 385 WriteLiteral(" class=\"plp-product-specs font-size-xs\""); 386 387 WriteLiteral(">\r\n"); 388 389 390 #line 95 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 391 392 393 #line default 394 #line hidden 395 396 #line 95 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 397 if (Pageview.User != null) 398 { 399 400 401 #line default 402 #line hidden 403 WriteLiteral(" <stock-display"); 404 405 WriteLiteral(" :product=\"product\""); 406 407 WriteLiteral(" class-type=\"plp-async\""); 408 409 WriteLiteral("></stock-display>\r\n"); 410 411 412 #line 98 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 413 } 414 415 416 #line default 417 #line hidden 418 WriteLiteral(" <p"); 419 420 WriteLiteral(" itemprop=\"sku\""); 421 422 WriteLiteral(">"); 423 424 425 #line 99 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 426 Write(Translate(basicListViewPrefix + "Product Number", "Product Number")); 427 428 429 #line default 430 #line hidden 431 WriteLiteral(" <span"); 432 433 WriteLiteral(" class=\"nowrap\""); 434 435 WriteLiteral(">{{product.number}}</span></p>\r\n\r\n </div>\r\n " + 436 " </div>\r\n </div>\r\n"); 437 438 439 #line 104 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 440 441 442 #line default 443 #line hidden 444 445 #line 104 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 446 if (Pageview.User != null) 447 { 448 449 450 #line default 451 #line hidden 452 WriteLiteral(" <div"); 453 454 WriteLiteral(" class=\"plp-product-buy mt-3\""); 455 456 WriteLiteral(">\r\n <variant-selector"); 457 458 WriteAttribute("language-id", Tuple.Create(" language-id=\"", 6211), Tuple.Create("\"", 6254) 459 460 #line 107 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 461 , Tuple.Create(Tuple.Create("", 6225), Tuple.Create<System.Object, System.Int32>(Pageview.Area.EcomLanguageId 462 463 #line default 464 #line hidden 465 , 6225), false) 466 ); 467 468 WriteLiteral(" "); 469 470 WriteLiteral("@stockupdate=\"stockUpdate\" cart-basket-class=\"product-addtobasket\" button-class=\"" + 471 "btn btn-primary\" :main-product=\"product\" :default-value=\"\'"); 472 473 474 #line 107 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 475 Write(Translate(basicListViewPrefix + "Choose Size", "Choose size")); 476 477 478 #line default 479 #line hidden 480 WriteLiteral("\'\" />\r\n </div>\r\n"); 481 482 483 #line 109 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 484 } 485 486 487 #line default 488 #line hidden 489 WriteLiteral(" <a"); 490 491 WriteLiteral(" :href=\"product.prettyUrl\""); 492 493 WriteLiteral(" class=\"absolute-link\""); 494 495 WriteLiteral(" itemprop=\"url\""); 496 497 WriteLiteral(">\r\n <span"); 498 499 WriteLiteral(" class=\"sr-only\""); 500 501 WriteLiteral(">"); 502 503 504 #line 111 "E:\Solutions\Webshop\Web\Live\Files\Templates\Designs\NordahlAndersen\eCom\ProductCatalog\slider_ListView_without_header_h1.cshtml" 505 Write(Translate(basicListViewPrefix + "show product details for", "Show product details for")); 506 507 508 #line default 509 #line hidden 510 WriteLiteral(" {{product.name}}</span>\r\n </a>\r\n </article>\r\n " + 511 " </template>\r\n </slick>\r\n </div>\r\n</productlist-slider-listv" + 512 "iew>\r\n"); 513 514 } 515 } 516 } 517

1 @using Dynamicweb.Content 2 @using Dynamicweb.Ecommerce 3 @using NORRIQ.Common8.Context 4 @using System.Linq 5 @using Dynamicweb.Modules 6 @using Newtonsoft.Json 7 @using Newtonsoft.Json.Linq 8 @using NordahlAndersen.Web.CustomCode.Products.Helpers 9 @using Page = Dynamicweb.Content.Page 10 @using ParagraphService = Dynamicweb.Content.ParagraphService 11 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Ecommerce.ProductCatalog.ProductListViewModel> 12 @{ 13 string basicListViewPrefix = "PLP "; 14 } 15 16 @*Incomment the following in a customer solution. 17 ProductPageFeedObserver.IsJsonFeed()*@ 18 19 20 @{ 21 var pdpLink = NORRIQ.Common8.Razor.Navigation.GetUrlByNavigationTag("plp"); 22 var query = Dynamicweb.Context.Current.Request["productsearch"]; 23 var group = Dynamicweb.Context.Current.Request["GroupID"] != null 24 ? Services.ProductGroups.GetGroup(Dynamicweb.Context.Current.Request["GroupID"]) 25 : null; 26 var groupName = group != null ? group.Name : Pageview.CurrentParagraph.Header; 27 var groupDescription = group != null ? group.Description : ""; 28 var userStatus = Pageview.User != null ? "is-b2b" : "is-b2c"; 29 string qc = System.Web.HttpUtility.HtmlDecode(Pageview.CurrentParagraph.ModuleProperties["QueryConditions"]); 30 var sliderGroupId = "GROUP23"; 31 32 if (!string.IsNullOrEmpty(qc)) 33 { 34 var queryValues = JsonConvert.DeserializeObject<ParagraphValue[]>(qc); 35 if (queryValues != null && queryValues.FirstOrDefault(x => x.Name == "GroupId") != null) 36 { 37 sliderGroupId = queryValues.FirstOrDefault(x => x.Name == "GroupId")?.DefaultValue; 38 } 39 } 40 } 41 <productlist-slider-listview inline-template group-id="@sliderGroupId" :paragraph-id="@this.Pageview.CurrentParagraph.ID" :key="@this.Pageview.CurrentParagraph.ID"> 42 <div v-bind:class="{'initialized' : initialized}"> 43 <template v-if="queryLoading"> 44 <div class="text-center"> 45 <span class="spinner-xl-default"></span> 46 </div> 47 </template> 48 <slick ref="slick" 49 :options="slickPlpOptions" 50 class="plp plp-products slide" 51 v-show="!queryLoading" 52 id="@this.Pageview.CurrentParagraph.ID" 53 > 54 <template v-for="(product, index) in pList.products"> 55 <article itemscope itemtype="https://schema.org/Product" v-if="product.id" v-bind:key="product.id + product.variantId" class="plp-product position-relative"> 56 <meta itemprop="name" :content="product.name" /> 57 <div class="plp-product-image text-center position-relative"> 58 <span class="plp-product-badge bg-primary text-white d-flex justify-content-center align-items-center" style="z-index: 20;" v-if="isNewProduct(product)">@Translate("New", "New")</span> 59 @if (Pageview.User != null) 60 { 61 <favorite-item :product="product"></favorite-item> 62 } 63 <figure v-if="product.images.length > 0 && product.defaultImage" class="image is-1by1"> 64 <img :src="'/Admin/Public/GetImage.ashx?Width=480&amp;Height=480&amp;Crop=5&amp;fillcanvas=true&amp;Image=' + product.defaultImage.path" 65 :alt="product.name" itemprop="image" class="img-fluid" loading="lazy" /> 66 </figure> 67 <figure v-else class="image is-1by1"> 68 <img src="/Admin/Public/GetImage.ashx?Width=300&amp;Height=300&amp;Crop=5&amp;fillcanvas=true&amp;Image=/Files/Images/default.jpg" 69 alt="@Translate(basicListViewPrefix + "No product picture", "No product picture")" 70 itemprop="image" 71 class="img-fluid" 72 loading="lazy" /> 73 </figure> 74 </div> 75 <div class="plp-product-data @userStatus" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 76 <header> 77 <h1 itemprop="name" class="font-size-md font-weight-bold">{{product.name}}</h1> 78 </header> 79 <div class="plp-group"> 80 <async-price class-type="plp-product-price" 81 :default-price-without-vat="product.price.priceWithoutVat" 82 :default-price-with-vat="product.price.priceWithVat" 83 :default-list-price-without-vat="product.listPrice.priceWithoutVat" 84 :default-list-price-with-vat="product.listPrice.priceWithVat" 85 :product-number="product.number" 86 :variant-id="product.defaultVariantId" 87 :unit-of-measure="product.defaultUnitId" 88 default-currency-code="@Pageview.Area.EcomCurrencyId" 89 :only-price="false" 90 :show-default-price="@((Pageview.User == null).ToString()?.ToLower())"> 91 </async-price> 92 93 94 <div class="plp-product-specs font-size-xs"> 95 @if (Pageview.User != null) 96 { 97 <stock-display :product="product" class-type="plp-async"></stock-display> 98 } 99 <p itemprop="sku">@Translate(basicListViewPrefix + "Product Number", "Product Number") <span class="nowrap">{{product.number}}</span></p> 100 101 </div> 102 </div> 103 </div> 104 @if (Pageview.User != null) 105 { 106 <div class="plp-product-buy mt-3"> 107 <variant-selector language-id="@Pageview.Area.EcomLanguageId" @@stockupdate="stockUpdate" cart-basket-class="product-addtobasket" button-class="btn btn-primary" :main-product="product" :default-value="'@Translate(basicListViewPrefix + "Choose Size", "Choose size")'" /> 108 </div> 109 } 110 <a :href="product.prettyUrl" class="absolute-link" itemprop="url"> 111 <span class="sr-only">@Translate(basicListViewPrefix + "show product details for", "Show product details for") {{product.name}}</span> 112 </a> 113 </article> 114 </template> 115 </slick> 116 </div> 117 </productlist-slider-listview> 118

Sammen kan vi gøre en forskel

Nordahl Jewellery
Joanli Nor
SON
Siersbøl