Search Advanced Close

Cliquer sur l'une des options produits pour afficher tous les documents produits disponibles.

 

Search Advanced Close

Vous n'avez aucun produit dans votre sélection.

Search Advanced Close

Aire de jeux du parc Tony Garnier, Carnoux

Une belle aire de jeux paysagée, l'aménagement du parc ayant été conçu par un cabinet d'architectes paysagistes.

19/07/2018 15:04:00

Détails de l'étude de cas

Jardin de l'Ange Claude, Cavaillon

Un aménagement paysager comprenant deux zones de jeux adaptées à différentes tranches d'âge.

19/07/2018 10:53:00

Détails de l'étude de cas

Aire de jeux thème contes de fées, Svenljunga, Suède

Une belle aire de jeux installée par nos confrères suédois offrant un large éventail d'activités.

04/06/2018 11:03:00

Détails de l'étude de cas

Get more inspiration from other installations all around the world

Afficher toutes les études de cas
Search Advanced Close
Exception in template (Designs\HagsCore\eCom/Productlist/ProductList.cshtml): System.Net.WebException: The remote server returned an error: (502) Bad Gateway.
   at System.Net.HttpWebRequest.GetResponse()
   at HagsWeb.Library.Services.IPService.IPCheck.CountryPriceAllowed(String currentCountry)
   at CompiledRazorTemplates.Dynamic.aeddbdfdfdde.Execute()
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context)
   at RazorEngine.Razor.Parse[T](String razorTemplate, T model, String cacheName)
   at Dynamicweb.Rendering.Template.Output()
@inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> @using HagsWeb.Library.Methods.AssetManager; @using HagsWeb.Library.BusinessObjects.UsersLists; @using HagsWeb.Library.State; @{ Dynamicweb.Frontend.PageView thisPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.GetPageview(); string pageUrl = thisPage.Page.get_Value("pagepathurl").ToString(); string currentCulture = GetGlobalValue("Global:Area.LongLang"); string currentCountry = currentCulture.Substring(currentCulture.Length - 2); // GB, SE List<ProductCollectionItem> productCollectionItems = SessionManager.UsersMyProductCollection != null ? SessionManager.UsersMyProductCollection : new List<ProductCollectionItem>(); var siteSection = HagsWeb.Library.Methods.Page.HagsPages.GetSiteSection(thisPage.AreaID, thisPage.ID); var grouplink = "/Default.aspx?ID=" + GetValue("Ecom:ProductList:Page.ID") + "&GroupID=" + GetValue("Ecom:ProductList:Page.GroupID"); string ipPriceAllowed = HagsWeb.Library.Services.IPService.IPCheck.CountryPriceAllowed(currentCountry); // ZZZ,Hags_GB,Hags_SE and Hags_, Anon_GB, Anon_SE network range checker (Web.config) } <!--Templates/HagsCore/eCom/ProductList/ProductList.cshtml--> <script type="text/javascript"> function SortProductsBy(sortcode) { var Page = "@grouplink"; if (sortcode !== 'Default') { SetCookie("RequestOrderBy", sortcode, 1) } document.location.href = Page + "&SortBy=" + sortcode; } </script> <div class="m-heading m-theme-background-yellow m-theme-color-white breadcrumb"> <div class="l-page"> <div class="container-fluid"> @{ string breadcrumb = HagsWeb.Library.Methods.Page.HagsPages.GetThisPageNavigation(pageUrl, GetGlobalValue("Global:Area.LongLang")); } <div class="m-menu-primary breadcrumb"> <nav class="text-centre text-uppercase"> @breadcrumb </nav> </div> </div> <!-- container-fluid --> </div> <!-- l-page --> </div> <!-- m-heading --> <div class="m-sort m-theme-background-lightgrey"> <div class="l-page"> <div class="container-fluid"> <div class="row"> <div class="col-sm-6"> @*<p>Page Flag: @ipPriceAllowed || session is set: @HagsWeb.Library.State.SessionManager.IsSessionValueSet("HagsAllowedPricing") || session Value: @HagsWeb.Library.State.SessionManager.GetSessionItem("HagsAllowedPricing").ToString()</p>*@ <form class="form-inline"> <div class="form-group"> <div class="btn-group"> <button type="button" class="btn btn-m btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> @Translate("SortBy", "Sort by") <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li><a onclick="SortProductsBy('Default')">@Translate("Default", "Default")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('ProductName&amp;SortOrder=Asc')">@Translate("NameA-Z", "Name A-Z")</a></li> <li><a onclick="SortProductsBy('ProductName&amp;SortOrder=Desc')">@Translate("NameZ-A", "Name Z-A")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('AgeRange&amp;SortOrder=Asc')">@Translate("AgeAscending", "Age Ascending")</a></li> <li><a onclick="SortProductsBy('AgeRange&amp;SortOrder=Desc')">@Translate("AgeDescending", "Age Descending")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('SafetyArea&amp;SortOrder=Asc')">@Translate("SafetyAreaAscending", "Safety Area Ascending")</a></li> <li><a onclick="SortProductsBy('SafetyArea&amp;SortOrder=Desc')">@Translate("SafetyAreaDescending", "Safety Area Descending")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('FallHeight&amp;SortOrder=Asc')">@Translate("FallHeightAscending", "Fall Height Ascending") </a></li> <li><a onclick="SortProductsBy('FallHeight&amp;SortOrder=Desc')">@Translate("FallHeightDescending", "Fall Height Descending") </a></li> @*@if (thisPage.AreaID > 1) { <li><a onclick="SortProductsBy('Price&amp;SortOrder=Asc')">@Translate("Pricelow-high", "Price low-high")</a></li> <li><a onclick="SortProductsBy('Price&amp;SortOrder=Desc')">@Translate("Pricehigh-low", "Price high-low")</a></li> }*@ </ul> </div> </div> </form> </div> <div class="col-sm-6 clearfix"> <a class="btn btn-default pull-right text-uppercase" style="margin-left: 12px;" href="#advancedsearch-ui" data-toggle="tab" role="button">@Translate("AdvancedSearch", "Advanced Search")</a> <nav class="pull-right"> <ul class="pagination" style="margin: 0;"> <li><a id="prevpage" href="@GetString("Ecom:ProductList.PrevPage.Clean")" aria-label="Previous" @GetString("Ecom:ProductList.PrevPage")><span aria-hidden="true">&laquo; @Translate("page_Previous", "Previous")</span></a></li> <li class="active"><a>@GetString("Ecom:ProductList.CurrentPage") @Translate("page_Of","of") @GetString("Ecom:ProductList.TotalPages")</a></li> <li> <a id="nextpage" href="@GetString("Ecom:ProductList.NextPage.Clean")" aria-label="Next" @GetString("Ecom:ProductList.NextPage")><span aria-hidden="true">@Translate("page_Next", "Next") &raquo;</span></a> </li> </ul> </nav> </div> </div> <!-- row --> </div> <!-- container-fluid --> </div> <!-- l-page --> </div> <!-- m-sort --> @*<p>PriceAllowed: @ipPriceAllowed and AreaId=@thisPage.AreaID</p>*@ <div class="m-attractor-group"> <div class="l-page"> <div class="container-fluid"> <div class="l-group-4 row"> @foreach (LoopItem item in GetLoop("Products")) { // Use imageUrl = HagsWeb.Library.Methods.DWUtilities.GetSingleProductImageUrl(prod); List<ProductAsset> productImages = AssetManager_Repository.GetAssets(item.GetString("Ecom:Product.Number"), AssetType.Images, true); ProductAsset image = productImages.Where(n => n.Index == AssetTypeEnum.ToFriendlyAssetName(AssetType.Images) && n.FileName.Length <= 22 && n.FileName.StartsWith("big_") || n.FileName.StartsWith("big_Color_")).FirstOrDefault(); List<string> ageRanges = new List<string>(); string ageRange = item.GetString("Ecom:Product:Field.AgeRange"); string safetyArea = item.GetString("Ecom:Product:Field.SafetyArea"); string fallHeight = item.GetString("Ecom:Product:Field.FallHeight"); item.GetString("Ecom:Product:Field.AgeRange"); item.GetString("Ecom:Product:Field.SafetyArea"); item.GetString("Ecom:Product:Field.FallHeight"); bool isProductCollection = productCollectionItems.Any(n => n.ProductNumber == item.GetString("Ecom:Product.Number")); //var s = HagsWeb.Library.Methods.DWUtilities.GetProductUrl((item.GetString("Ecom:Product.Number"), thisPage.AreaID); //string productLink = thisPage.SearchFriendlyUrl; //var collectionLink = String.Format(productLink + "?ProductID={0}", item.GetString("Ecom:Product.ID")); string collectionData = string.Format("CCAddToMyLists={0}&CCAddToListVariantID={1}&CCAddToListLanguageID={2}#{3}", item.GetString("Ecom:Product.Number"), item.GetString("Ecom:Product.VariantID"), thisPage.Area.get_Value("areaecomlanguageid"), siteSection); <div class="l-group-content col-xs-12 col-ms-6 col-sm-4 col-md-3"> <div class="m-attractor"> <div class="m-attractor-visual"> @if (image != null && !String.IsNullOrEmpty(image.uri)) { <a href="@item.GetValue("Ecom:Product.Link.Clean")"><img src="@image.uri" class="img-responsive m-product-thumb" /></a> } else { <a href="@item.GetValue("Ecom:Product.Link.Clean")"><img src="/Files/Templates/Designs/HagsCore/res/img/image-not-found.png" class="img-responsive" /></a> } </div> @foreach (var age in item.GetLoop("AgeRange.Options")) { if (age.GetBoolean("AgeRange.Option.IsSelected") && age.GetString("AgeRange.Option.Value") != "25") { ageRanges.Add(age.GetString("AgeRange.Option.Name")); } } <div class="m-attractor-info m-attractor-info-product"> <ul> @if (ageRanges.Count > 0) { <li><span><strong>@item.GetString("Ecom:Product:Field.AgeRange.Name"):</strong></span> <span>@string.Join(", ", ageRanges)</span></li> } @if (!String.IsNullOrWhiteSpace(item.GetString("Ecom:Product:Field.FallHeight")) && item.GetInteger("Ecom:Product:Field.FallHeight.Value.Raw") > 0) { <li><span><strong>@item.GetString("Ecom:Product:Field.FallHeight.Name"):</strong></span> <span>@item.GetString("Ecom:Product:Field.FallHeight.Value.Raw") mm</span></li> } @if (!String.IsNullOrWhiteSpace(item.GetString("Ecom:Product:Field.SafetyArea")) && item.GetInteger("Ecom:Product:Field.SafetyArea.Value.Raw") > 0) { <li><span><strong>@item.GetString("Ecom:Product:Field.SafetyArea.Name"):</strong></span> <span>@item.GetString("Ecom:Product:Field.SafetyArea.Value.Raw") m<sup>2</sup></span></li> } </ul> </div> <div class="m-attractor-info m-attractor-info-product"> <h3 class="m-theme-after-yellow m-theme-border-yellow"><a href="@item.GetString("Ecom:Product.Link.Clean")">@item.GetString("Ecom:Product.Name")</a></h3> @*<p>@item.GetValue("Ecom:Product.ShortDescription")</p>*@ <!--<p><strong>@Translate("ProductNumber", "Product Number"):</strong> @item.GetValue("Ecom:Product.Number")</p>--> @*Only UK and Sweden have Pricing at the moment*@ @if (thisPage.Area.ID == 2 && (ipPriceAllowed.Contains(currentCountry) || ipPriceAllowed.Contains("Hags_"))) /*Sweden*/ { <p><strong>@Translate("Price", "Price"): @item.GetString("Ecom:Product.Price.PriceFormatted")</strong></p> } @if (thisPage.Area.ID == 7) /*UK has special pricing*/ { if (!string.IsNullOrEmpty(item.GetString("Ecom:Product:Field.UKProductNumber"))) { <p><strong>@Translate("ProductNumber", "Product Number"):</strong> @item.GetValue("Ecom:Product:Field.UKProductNumber")</p> } else if(!string.IsNullOrEmpty(item.GetString("Ecom:Product.Number"))) { <p><strong>@Translate("ProductNumber", "Product Number"):</strong> @item.GetValue("Ecom:Product.Number")</p> } if (ipPriceAllowed.Contains(currentCountry) || ipPriceAllowed.Contains("Hags_")) { string ukPrice = string.IsNullOrEmpty(item.GetString("Ecom:Product:Field.UKProductPrice")) ? "On Application" : "&pound;"+ string.Format(new System.Globalization.CultureInfo("en-GB", false), "{0:c}", item.GetValue("Ecom:Product:Field.UKProductPrice")); <p><strong>@Translate("Price", "Price"): @ukPrice</strong></p> } } <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@item.GetString("Ecom:Product.Link.Clean")" role="button">@Translate("ProductDetails", "Product Details")</a> </div> <!-- attractor-info --> <!--<div class="m-attractor-options"> <ul class="m-icon-links list-unstyled"> @if (isProductCollection) { <li><a href="#" class="clearfix" data-removeproductlist="@item.GetString("Ecom:Product.Number")" data-addproductlist=""><img src="/Files/Templates/Designs/HagsCore/res/img/icons/plus.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/icons/plus.png" class="m-icon pull-left" /><span>@Translate("RemoveFromCollection", "Remove from my Collection")</span></a></li> } else { <li><a href="#" class="clearfix" data-addproductlist="@collectionData" data-removeproductlist=""><img src="/Files/Templates/Designs/HagsCore/res/img/icons/plus.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/icons/plus.png" class="m-icon pull-left" /><span>@Translate("AddToCollection", "Add to my collection")</span></a></li> } </ul> </div> <!-- m-attractor-options --> </div> <!-- attractor --> </div> } </div> <!-- row --> </div> <!-- container-fluid --> </div> <!-- l-page --> </div> <!-- m-attractor-group --> <div class="m-sort bottom m-theme-background-lightgrey"> <div class="l-page"> <div class="container-fluid"> <div class="row"> <div class="col-sm-6"> <form class="form-inline"> <div class="form-group"> <div class="btn-group"> <button type="button" class="btn btn-m btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> @Translate("SortBy", "Sort by") <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li><a onclick="SortProductsBy('Default')">Default</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('ProductName&amp;SortOrder=Asc')">@Translate("NameA-Z", "Name A-Z")</a></li> <li><a onclick="SortProductsBy('ProductName&amp;SortOrder=Desc')">@Translate("NameZ-A", "Name Z-A")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('AgeRange&amp;SortOrder=Asc')">@Translate("AgeAscending", "Age Ascending")</a></li> <li><a onclick="SortProductsBy('AgeRange&amp;SortOrder=Desc')">@Translate("AgeDescending", "Age Descending")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('SafetyArea&amp;SortOrder=Asc')">@Translate("SafetyAreaAscending", "Safety Area Ascending")</a></li> <li><a onclick="SortProductsBy('SafetyArea&amp;SortOrder=Desc')">@Translate("SafetyAreaDescending", "Safety Area Descending")</a></li> <li class="divider"></li> <li><a onclick="SortProductsBy('FallHeight&amp;SortOrder=Asc')">@Translate("FallHeightAscending", "Fall Height Ascending") </a></li> <li><a onclick="SortProductsBy('FallHeight&amp;SortOrder=Desc')">@Translate("FallHeightDescending", "Fall Height Descending") </a></li> @*@if (thisPage.AreaID > 1) { <li><a onclick="SortProductsBy('Price&amp;SortOrder=Asc')">@Translate("Pricelow-high", "Price low-high")</a></li> <li><a onclick="SortProductsBy('Price&amp;SortOrder=Desc')">@Translate("Pricehigh-low", "Price high-low")</a></li> }*@ </ul> </div> </div> </form> </div> <div class="col-sm-6 clearfix"> <!--<a class="btn btn-default pull-right text-uppercase" style="margin-left: 12px;" href="#advancedsearch-ui" data-toggle="tab" role="button">@Translate("AdvancedSearch", "Advanced Search")</a>--> <nav class="pull-right"> <ul class="pagination" style="margin: 0;"> <li><a id="prevpage" href="@GetString("Ecom:ProductList.PrevPage.Clean")" aria-label="Previous" @GetString("Ecom:ProductList.PrevPage")><span aria-hidden="true">&laquo; @Translate("page_Previous", "Previous")</span></a></li> <li class="active"><a>@GetString("Ecom:ProductList.CurrentPage") @Translate("page_Of","of") @GetString("Ecom:ProductList.TotalPages")</a></li> <li> <a id="nextpage" href="@GetString("Ecom:ProductList.NextPage.Clean")" aria-label="Next" @GetString("Ecom:ProductList.NextPage")><span aria-hidden="true">@Translate("page_Next", "Next") &raquo;</span></a> </li> </ul> </nav> </div> </div> <!-- row --> </div> <!-- container-fluid --> </div> <!-- l-page --> </div> <!-- m-sort -->