Search Advanced Close

To find product downloads simply click on one of the options above and then use the search form displayed to find all the documents associated with your search.

 

Search Advanced Close

To add products to your collection, simply search for products, click 'product details' and from the product page select 'add to my collection'. This can be found either within the product options panel or below the product image.

Search Advanced Close

Seven Oaks Park, Cramlington

An area for older children and adults was needed in Cramlington and this Arena Multi-Use Games Area has provided the community with a fantastic place to play basketball, football and more.

7/16/2021 3:29:00 PM

Case Study Details

First Loly Climber Installed in Cramlington, UK

Award-winning park in Northumberland gets £100,000 playground makeover to offer a wide range of play options. It is also home to the first Loly climber in the UK!

6/28/2021 1:20:00 PM

Case Study Details

Magical playground in an enchanted palace, Poland

Making dreams come true with our playground equipment for visitors at the magical Kurozwęki Palace in Poland.

5/26/2021 12:32:00 PM

Case Study Details

Get more inspiration from other installations all around the world

View All Case Studies
Search Advanced Close

Gala Park, Galashiels

HAGS were invited by the Scottish Borders Council to tender for part of the various proposed play park upgrades they have planned throughout the county, the first being Gala Park in Galashiels.

Inspiration for our winning design was taken from the town’s coat of arms, the Iron Age hill fort, and Buckholm Tower dating back to 1582, and the arrival of the railway in 1849. Our sales, proposals and design teams researched the history of the town to design and manufacture a play area which reflected the town’s position within the Scottish borders.  

The eye catching play area maximised the use of available space by including two play zones. The junior area boasts the specially designed Galashiels tower unit, alongside equipment such as the Viper, Titan and DNA to create a challenging and exciting environment for all to enjoy, while the toddlers area features a fully accessible train climbing unit with a train track running through the site.

The new play park in Galashiels delivered by HAGS is an outstanding facility built to the highest specification.  At every stage of the process, HAGS worked tirelessly to ensure the delivery of a high quality play park.  From the design and pre-installation through to the contraction/delivery on site, we focussed on delivering a high quality service and ensured that the new play park was delivered smoothly. 

This is one of its kind in entire Scotland! We at HAGS, are immensely proud at what we contributed to the entire community. Everyone is delighted with the final results and the play park has been enjoyed by many thousands of children already.

View the video of our Galashiels site

 

Location
Galashiels, Scotland
Year Completed
2018
Project Value
250,000

Related Products

Contact us

If you have questions or would like to know something about our products, you can contact us by phone, fax, email or directly on our website. If you do not know who at HAGS you should talk to, or if you would like to come in contact with a specific person at HAGS, you are welcome to call our switchboard to get connected to the right person.

HAGS Aneby AB
Grännavägen 7 578 33 Aneby

Follow HAGS:

Error executing template "/Designs/HagsCore/Paragraph/CaseStudies_Galleria.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_98b5ac84dbe94d3b9360f6a3ae8b0a4d.Execute() in B:\Hags_Live_A\Files\Templates\Designs\HagsCore\Paragraph\CaseStudies_Galleria.cshtml:line 8
   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.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using System.Data.SqlTypes 3 @using System.Linq; 4 @using Dynamicweb.Content; 5 @using Dynamicweb.Content.Items; 6 @using HagsWeb.Library.Methods.Items; 7 @{ 8 string[] arrStudyList = GetValue("Item.Case_Study_List.Value").ToString().Split(',').ToArray(); 9 //ItemTypeMethods.GetCaseStudiesTest(arrStudyList); // Available for testing locally only 10 11 string caseStudiesLink = String.Empty; 12 int pageId = 0; 13 List<KeyValuePair<string, Item>> studyList = new List<KeyValuePair<string, Item>>(); 14 15 int recordsCount = 7; 16 int outerColumns = 12; 17 int attractorList = 3; 18 19 if (arrStudyList.Any()) 20 { 21 foreach (string id in arrStudyList) 22 { 23 Item item = Item.GetItemById("Case_Study_Lookup", id); 24 if (item != null) 25 { 26 KeyValuePair<string, Paragraph> paragraph = ItemTypeMethods.GetParagraphLinkValues(item["Case_Study_Paragraph"].ToString()); 27 Item caseStudy = Item.GetItemById(paragraph.Value.ItemType, paragraph.Value.ItemId); // "Case_Study" 28 pageId = paragraph.Value.PageID; 29 caseStudiesLink = paragraph.Key; 30 31 studyList.Add(new KeyValuePair<string, Item>(paragraph.Key, caseStudy)); 32 } 33 } 34 } 35 36 // I use this like an Inspiration Finder (<!--<h4>@Translate("InspirationFinder", "Inspiration Finder")</h4>-->). Im using the Inspiration Finder Item Type 37 // to create the backing data. Multiples of 7 Case studies are chosen, thats the repeat pattern. Images and content are taken trom the case study Images. Some Images are not 38 // sized or the correct aspect ratios so we need to set up some kind of ImageHandler (Dynamicwebs?) to optimize the images. 39 40 // https://stackoverflow.com/questions/30694476/process-a-list-with-a-loop-taking-100-elements-each-time-and-automatically-less 41 // https://stackoverflow.com/questions/419019/split-list-into-sublists-with-linq 42 43 // https://galleriajs.github.io/docs/references/optimize.html 44 // https://galleriajs.github.io/docs/getting_started/quick_start.html#quick-start 45 // https://galleriajs.github.io/docs/api/methods.html 46 47 } 48 49 <link rel="stylesheet" href="Files/Templates/Designs/HagsCore/style/css/galleria.base.css"> 50 @*<link rel="stylesheet" href="Files/Templates/Designs/HagsCore/style/css/galleria.hags-images.css" id="galleria-theme-hags-images">*@ 51 @*<link rel="stylesheet" href="Files/Templates/Designs/HagsCore/style/css/galleria.hags-small.css" id="galleria-theme-hags-small">*@ 52 53 <style type="text/css"> 54 55 .view-news ul li .views-field-title a, .view-cases ul li .views-field-title a { 56 padding: 20px; 57 font-size:20px; 58 -webkit-box-sizing: border-box; 59 -moz-box-sizing: border-box; 60 box-sizing: border-box; 61 } 62 63 .line-1 i { 64 left: 0; 65 top: 0; 66 background-color: rgb(0 0 0 / 0%); 67 padding: 60px 20px 20px 20px; 68 -moz-transition: width 0.4s ease-out 1.2s; 69 -o-transition: width 0.4s ease-out 1.2s; 70 -webkit-transition: width 0.4s ease-out; 71 -webkit-transition-delay: 1.2s; 72 transition: width 0.4s ease-out 1.2s; 73 } 74 75 .views-field-field-thumbnail .field-content a img.small { 76 text-align: center; 77 width: auto; 78 height: auto; 79 max-width: 100%; 80 transform: scale(1.78955); 81 } 82 83 .views-field-field-thumbnail .field-content a img.large { 84 text-align: center; 85 width: auto; 86 height: auto; 87 max-width: 100%; 88 transform: scale(1.66562); 89 } 90 </style> 91 92 <script type="text/javascript" src="Files/Templates/Designs/HagsCore/script/source/libraries/galleria/galleria.js"></script> 93 94 <!--Galleria.cshtml--> 95 <div class="m-inspiration m-theme-background-lightgrey"> 96 97 @*<p>Case Studies: @arrStudyList.Length || Testimonials: @arrTestimonialList.Length || @string.Join(",", arrTestimonialList)</p>*@ 98 99 <div class="m-inspiration-select"> 100 <div class="l-page"> 101 <div class="container-fluid"> 102 @if (GetValue("Item.Title.Value") != null) 103 { 104 <div><label>@GetString("Item.Title.Value") </label></div> 105 } 106 else 107 { 108 <div><label>@Translate("InspirationFinder", "Inspiration Finder") </label></div> 109 } 110 </div> <!-- container-fluid --> 111 </div> <!-- l-page --> 112 113 </div> <!-- m-inspiration-select --> 114 115 <div class="l-page"> 116 <div class="container-fluid"> 117 <div class="row"> 118 <div class="col-ms-@outerColumns col-sm-@outerColumns"> 119 <div class="row"> 120 <p>Case Studies Galleria.cshtml</p> 121 @if (studyList.Any()) 122 { 123 <div class="view view-cases view-id-cases view-display-id-page view-dom-id-4b9ff6fb38a14b06afba288c2c3ed24f"> 124 125 <div class="view-content"> 126 127 @{ 128 int listLength = studyList.Count; 129 130 for (int i = 0; i < listLength; i = i + recordsCount) 131 { 132 var itemsList = studyList.Skip(i).Take(recordsCount); 133 134 int count = 1; 135 <ul> 136 @foreach (var study in itemsList) 137 { 138 Item item = study.Value; 139 var studyId = item.Id; 140 var attractorName = item["Study_Heading"].ToString(); 141 var attractorContent = item["Study_Content"] != null ? item["Study_Content"].ToString() : string.Empty; 142 Item attractorImage = new Item(); 143 if (item["Images"] != null) 144 { 145 attractorImage = Item.GetItemById("Carousel_Image", item["Images"].ToString().Split(',').ToArray().FirstOrDefault()); 146 } 147 string Image = string.Empty; 148 string ImageTitle = string.Empty; 149 string ImageAlt = string.Empty; 150 if (attractorImage != null) 151 { 152 Image = attractorImage["Image"] != null ? attractorImage["Image"].ToString() : "/Files/Templates/Designs/HagsCore/res/img/image-not-found.png"; 153 ImageTitle = attractorImage["Title"] != null ? attractorImage["Title"].ToString() : string.Empty; 154 ImageAlt = attractorImage["Alternative_Text"] != null ? attractorImage["Alternative_Text"].ToString() : string.Empty; 155 } 156 157 Item readMoreButton = new Item(); 158 string readMoreText = string.Empty; 159 string readMoreLink = string.Empty; 160 if (item["Read_More_Button"] != null) 161 { 162 readMoreButton = Item.GetItemById("Hyperlink_Button", item["Read_More_Button"].ToString()); 163 readMoreText = readMoreButton["Button_Text"].ToString(); 164 readMoreLink = readMoreButton["Button_Link"].ToString(); // not useful for a link 165 } 166 167 string studyUrl = "Default.aspx?ID=" + pageId.ToString() + "&itemId=Case_Study:" + studyId; 168 169 string firstLastRow = i == 0 && count == 1 ? "views-row-first" : i + count == listLength ? "views-row-last" : string.Empty; 170 string rowClass = count % 2 == 0 ? "even" : "odd"; 171 string imageSize = string.Empty; 172 string imageClass = string.Empty; 173 174 @* // GetImage.ashx?Image=/virtualfolder/image.jpg&amp;height=260&amp;width=260 175 // <img src='/Admin/Public/GetImage.ashx?Image=@product.GetString("Ecom:Product.ImageDefault")&Crop=0&Format=jpg&Height=145&Compression=75' alt="">*@ 176 177 switch (count) 178 { 179 case 1: 180 case 2: //Width=150&Height=100 181 imageSize = "Width=970 Height=510"; 182 break; 183 case 3: 184 case 4: 185 case 6: 186 case 7: 187 imageSize = "Width=460 Height=480"; 188 imageClass = " class='small'"; 189 break; 190 case 5: 191 imageSize = "Width=960 Height=1000"; 192 imageClass = " class='large'"; 193 break; 194 default: 195 imageSize = "Other"; 196 break; 197 } 198 <li class="views-row views-row-@count views-row-@rowClass @firstLastRow"> 199 <div class="views-field views-field-title"> 200 <span class="field-content"><a href="@studyUrl" target="_blank">@attractorName</a></span> 201 </div> 202 <div class="views-field views-field-field-thumbnail"> 203 <div class="field-content"> 204 <a href="@studyUrl"> 205 @*<img typeof="foaf:Image" src="/Admin/Public/GetImage.ashx?Image=@Image&Crop=0&Format=jpg&Width=970&Height=510" alt="@attractorName" >*@ 206 207 @*<img src="/Admin/Public/GetImage.ashx?Image=@Image&Format=jpg&@imagesize&Crop=5&fillcanvas=1" />*@ 208 209 <img typeof="foaf:Image" src="@Image" data-big="@Image" alt="@attractorName" @imageSize @imageClass> 210 </a> 211 </div> 212 </div> 213 <div class="line-1"><i>@attractorContent</i></div> 214 <div class="line-2"><i></i></div> 215 <div class="line-3"><i></i></div> 216 <div class="line-4"><i></i></div> 217 </li> 218 219 count++; 220 221 } 222 223 </ul> 224 } 225 } 226 </div> 227 </div> 228 } 229 230 </div> <!-- row --> 231 </div> 232 </div> 233 </div> <!-- container-fluid --> 234 </div> <!-- l-page --> 235 @if (!string.IsNullOrEmpty(caseStudiesLink)) 236 { 237 <div class="m-inspiration-more m-theme-border-grey text-center"> 238 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@caseStudiesLink" target="_blank" role="button">@Translate("ViewAllCaseStudies", "View All Case Studies")</a> 239 </div> 240 } 241 242 </div> <!-- m-inspiration --> 243 244 245 246 @*<script src="Files/Templates/Designs/HagsCore/script/source/functions/galleria.base.js" async="async"></script>*@ 247 @*<script src="Files/Templates/Designs/HagsCore/script/source/functions/galleria.hags-images.js" async="async"></script>*@ 248 @*<script src="Files/Templates/Designs/HagsCore/script/source/functions/galleria.hags-small.js" async="async"></script>*@