Pavers & Borders
Preformed MMA with functional, hard-wearing results
If you are looking for an easily applicable paving solution that delivers a great impact, you may find it within our PaveSmart™ range! These preformed MMA pavers and borders make it fast and easy to achieve decorative and durable results in no time. The precut materials are ready to use on delivery, and the hard-wearing material with marble aggregates is bound to last even under heavy traffic.
Benefits
- Get a durable solution that is resistant to impacts and abrasion​ as both colours and shape stay intact due to PaveSmart's high stability.
- Save time and ressources on the easy installation, as the PaveSmart products are delivered precut and ready to use on delivery without the use of heavy machinery.
Error compiling template "Designs/Swift/Paragraph/Geveko_custom_Text_CSS.cshtml" Line 57: No overload for method 'RenderBody' takes 1 arguments Line 59: The name 'helper' does not exist in the current context Line 121: The name 'titleFontSize' does not exist in the current context Line 129: The name 'subtitleFontSize' does not exist in the current context Line 157: The name 'link' does not exist in the current context Line 160: The name 'target' does not exist in the current context Line 162: The name 'buttonStyle' does not exist in the current context Line 163: The name 'StretchedLink' does not exist in the current context Line 168: The name 'link' does not exist in the current context Line 171: The name 'target' does not exist in the current context Line 173: The name 'StretchedLink' does not exist in the current context
1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using Dynamicweb.Ecommerce.ProductCatalog; 11 internal class RazorEngine_0eb2eafa958c46f084f52cff8f799762 : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 12 { 13 #pragma warning disable 1998 14 public async override global::System.Threading.Tasks.Task ExecuteAsync() 15 { 16 WriteLiteral("\r\n"); 17 18 string cssclass = Model.Item.GetRawValueString("Text_CSS", ""); 19 string layout = Model.Item.GetRawValueString("Layout", "text-start"); 20 layout = layout == "alignLeft" ? "align-items-start text-start" : layout; 21 layout = layout == "alignCenter" ? "align-items-center text-center" : layout; 22 layout = layout == "alignRight" ? "align-items-end text-end" : layout; 23 layout = layout == "alignLeftMiddle" ? "align-items-start text-start justify-content-center" : layout; 24 25 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 26 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 27 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 28 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 29 30 //Backward compatibility (Vertical align) 31 string verticalAlign = ""; 32 if (!string.IsNullOrEmpty(Model.Item.GetString("verticalAlign"))) { 33 verticalAlign = verticalAlign == "vertical-align-top" ? "justify-content-start" : verticalAlign; 34 verticalAlign = verticalAlign == "vertical-align-center" ? "justify-content-center" : verticalAlign; 35 verticalAlign = verticalAlign == "vertical-align-bottom" ? "justify-content-end" : verticalAlign; 36 } 37 38 string maxWidth = Model.Item.GetRawValueString("TextReadability", "max-width-on"); 39 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 40 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 41 42 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 43 WriteLiteral("\r\n<div"); 44 BeginWriteAttribute("class", " class=\"", 1771, "\"", 1898, 10); 45 WriteAttributeValue("", 1779, "h-100", 1779, 5, true); 46 WriteAttributeValue(" ", 1784, "position-relative", 1785, 18, true); 47 WriteAttributeValue(" ", 1802, "d-flex", 1803, 7, true); 48 WriteAttributeValue(" ", 1809, "flex-column", 1810, 12, true); 49 WriteAttributeValue(" ", 1821, "mb-0-last-child", 1822, 16, true); 50 WriteAttributeValue(" ", 1837, contentPadding, 1838, 15, false); 51 WriteAttributeValue(" ", 1853, verticalAlign, 1854, 14, false); 52 WriteAttributeValue(" ", 1868, layout, 1869, 9, false); 53 WriteAttributeValue("", 1878, theme, 1878, 8, false); 54 WriteAttributeValue(" ", 1886, cssclass, 1887, 11, false); 55 EndWriteAttribute(); 56 WriteLiteral(">\r\n\t"); 57 Write(RenderBody(maxWidth)); 58 WriteLiteral("\r\n</div>\r\n\r\n"); 59 Write(helper); 60 WriteLiteral(@" RenderBody(string maxWidth) 61 { 62 string linkType = Model.Item.GetRawValueString(""LinkType"", ""page""); 63 Dynamicweb.Frontend.LinkViewModel link = new Dynamicweb.Frontend.LinkViewModel(); 64 65 string StretchedLink = Model.Item.GetRawValueString(""StretchedLink"", """"); 66 StretchedLink = StretchedLink == ""column-not-clickable"" ? """" : StretchedLink; 67 StretchedLink = StretchedLink == ""column-clickable"" ? "" stretched-link"" : StretchedLink; 68 69 if (linkType == ""page"" && Model.Item.GetLink(""ButtonLink"") != null) 70 { 71 link = Model.Item.GetLink(""ButtonLink""); 72 } 73 74 if (linkType == ""product-group"") 75 { 76 IList<ProductGroupViewModel> selectedGroups = Model.Item.GetValue<IList<ProductGroupViewModel>>(""ProductGroupLink""); 77 IList<string> groupIds = new List<string> { }; 78 79 if (selectedGroups != null) 80 { 81 foreach (var fromGroup in selectedGroups) 82 { 83 groupIds.Add(fromGroup.Id); 84 } 85 } 86 87 link = new Dynamicweb.Frontend.LinkViewModel() 88 { 89 Url = ""/Default.aspx?ID="" + GetPageIdByNavigationTag(""Shop"""); 90 WriteLiteral(@") + ""&GroupID="" + string.Join("","", groupIds) 91 }; 92 } 93 94 if (linkType == ""product"") 95 { 96 ProductListViewModel products = Model.Item.GetValue<ProductListViewModel>(""ProductLink""); 97 IList<string> productIds = new List<string> { }; 98 99 if (products != null) 100 { 101 foreach (var product in products.Products) 102 { 103 productIds.Add(product.Id); 104 } 105 } 106 107 string productParameter = productIds.Count == 1 ? ""ProductID"" : ""MainProductId""; 108 string pageTag = productIds.Count == 1 ? ""ProductDetailPage"" : ""Shop""; 109 link = new Dynamicweb.Frontend.LinkViewModel() 110 { 111 Url = ""/Default.aspx?ID="" + GetPageIdByNavigationTag(pageTag) + ""&"" + productParameter + ""="" + string.Join("","", productIds) 112 }; 113 } 114 115 if (!string.IsNullOrEmpty(Model.Item.GetString(""Title"")) && !Model.Item.GetBoolean(""HideTitle"")) 116 { 117 string titleFontSize = Model.Item.GetRawValueString(""TitleFontSize"", ""h3""); 118 119 <h3"); 120 BeginWriteAttribute("class", " class=\"", 3876, "\"", 3914, 3); 121 WriteAttributeValue("", 3884, titleFontSize, 3884, 14, false); 122 WriteAttributeValue(" ", 3898, "mb-3", 3899, 5, true); 123 WriteAttributeValue("", 3903, maxWidth, 3903, 11, false); 124 EndWriteAttribute(); 125 WriteLiteral(">\r\n\t\t\t"); 126 Write(Model.Item.GetString("Title")); 127 WriteLiteral("\r\n\t\t</h3>\r\n\t}\r\n\r\n\tif (!string.IsNullOrEmpty(Model.Item.GetString(\"Lead\")))\r\n\t{\r\n\t\tstring subtitleFontSize = Model.Item.GetRawValueString(\"SubtitleFontSize\", \"fs-5\");\r\n\r\n\t\t<p"); 128 BeginWriteAttribute("class", " class=\"", 4124, "\"", 4170, 4); 129 WriteAttributeValue("", 4132, subtitleFontSize, 4132, 17, false); 130 WriteAttributeValue(" ", 4149, "lead", 4150, 5, true); 131 WriteAttributeValue(" ", 4154, "mb-3", 4155, 5, true); 132 WriteAttributeValue("", 4159, maxWidth, 4159, 11, false); 133 EndWriteAttribute(); 134 WriteLiteral(">\r\n\t\t\t"); 135 Write(Model.Item.GetString("Lead")); 136 WriteLiteral("\r\n\t\t</p>\r\n\t}\r\n\r\n\tif (!string.IsNullOrEmpty(Model.Item.GetString(\"Text\")))\r\n\t{\r\n\t\t<div"); 137 BeginWriteAttribute("class", " class=\"", 4291, "\"", 4325, 2); 138 WriteAttributeValue("", 4299, "mb-0-last-child", 4299, 15, true); 139 WriteAttributeValue("", 4314, maxWidth, 4314, 11, false); 140 EndWriteAttribute(); 141 WriteLiteral(">\r\n\t\t\t"); 142 Write(Model.Item.GetString("Text")); 143 WriteLiteral(@" 144 </div> 145 } 146 147 if (link != null && !string.IsNullOrEmpty(Model.Item.GetString(""ButtonLabel""))) 148 { 149 string target = link.IsExternal ? ""target=\""_blank\"""" : """"; 150 string buttonStyle = Model.Item.GetRawValueString(""ButtonStyle"", """"); 151 buttonStyle = buttonStyle == ""primary"" ? ""btn-primary"" : buttonStyle; 152 buttonStyle = buttonStyle == ""secondary"" ? ""btn-secondary"" : buttonStyle; 153 154 <div class=""mt-3""> 155 <a"); 156 BeginWriteAttribute("href", " href=\"", 4780, "\"", 4796, 1); 157 WriteAttributeValue("", 4787, link.Url, 4787, 9, false); 158 EndWriteAttribute(); 159 WriteLiteral(" "); 160 Write(target); 161 WriteLiteral(" class=\"btn "); 162 Write(buttonStyle); 163 Write(StretchedLink); 164 WriteLiteral("\">"); 165 Write(Model.Item.GetString("ButtonLabel")); 166 WriteLiteral("</a>\r\n\t\t</div>\r\n\t}\r\n\telse if (link != null && !string.IsNullOrEmpty(link.Url))\r\n\t{\r\n\t\tstring target = link.IsExternal ? \"target=\\\"_blank\\\"\" : \"\";\r\n\r\n\t\t<a"); 167 BeginWriteAttribute("href", " href=\"", 5038, "\"", 5054, 1); 168 WriteAttributeValue("", 5045, link.Url, 5045, 9, false); 169 EndWriteAttribute(); 170 WriteLiteral(" "); 171 Write(target); 172 WriteLiteral(" class=\""); 173 Write(StretchedLink); 174 WriteLiteral("\">\r\n\t\t\t<span class=\"visually-hidden\">"); 175 Write(Model.Item.GetString("Title")); 176 WriteLiteral("</span>\r\n\t\t</a>\r\n\t}\r\n}\r\n"); 177 } 178 #pragma warning restore 1998 179 } 180 } 181 #pragma warning restore 1591 182
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 4 @{ 5 string cssclass = Model.Item.GetRawValueString("Text_CSS", ""); 6 string layout = Model.Item.GetRawValueString("Layout", "text-start"); 7 layout = layout == "alignLeft" ? "align-items-start text-start" : layout; 8 layout = layout == "alignCenter" ? "align-items-center text-center" : layout; 9 layout = layout == "alignRight" ? "align-items-end text-end" : layout; 10 layout = layout == "alignLeftMiddle" ? "align-items-start text-start justify-content-center" : layout; 11 12 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 13 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 14 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 15 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 16 17 //Backward compatibility (Vertical align) 18 string verticalAlign = ""; 19 if (!string.IsNullOrEmpty(Model.Item.GetString("verticalAlign"))) { 20 verticalAlign = verticalAlign == "vertical-align-top" ? "justify-content-start" : verticalAlign; 21 verticalAlign = verticalAlign == "vertical-align-center" ? "justify-content-center" : verticalAlign; 22 verticalAlign = verticalAlign == "vertical-align-bottom" ? "justify-content-end" : verticalAlign; 23 } 24 25 string maxWidth = Model.Item.GetRawValueString("TextReadability", "max-width-on"); 26 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 27 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 28 29 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 30 } 31 32 <div class="h-100 position-relative d-flex flex-column mb-0-last-child @contentPadding @verticalAlign @(layout)@(theme) @(cssclass)"> 33 @RenderBody(maxWidth) 34 </div> 35 36 @helper RenderBody(string maxWidth) 37 { 38 string linkType = Model.Item.GetRawValueString("LinkType", "page"); 39 Dynamicweb.Frontend.LinkViewModel link = new Dynamicweb.Frontend.LinkViewModel(); 40 41 string StretchedLink = Model.Item.GetRawValueString("StretchedLink", ""); 42 StretchedLink = StretchedLink == "column-not-clickable" ? "" : StretchedLink; 43 StretchedLink = StretchedLink == "column-clickable" ? " stretched-link" : StretchedLink; 44 45 if (linkType == "page" && Model.Item.GetLink("ButtonLink") != null) 46 { 47 link = Model.Item.GetLink("ButtonLink"); 48 } 49 50 if (linkType == "product-group") 51 { 52 IList<ProductGroupViewModel> selectedGroups = Model.Item.GetValue<IList<ProductGroupViewModel>>("ProductGroupLink"); 53 IList<string> groupIds = new List<string> { }; 54 55 if (selectedGroups != null) 56 { 57 foreach (var fromGroup in selectedGroups) 58 { 59 groupIds.Add(fromGroup.Id); 60 } 61 } 62 63 link = new Dynamicweb.Frontend.LinkViewModel() 64 { 65 Url = "/Default.aspx?ID=" + GetPageIdByNavigationTag("Shop") + "&GroupID=" + string.Join(",", groupIds) 66 }; 67 } 68 69 if (linkType == "product") 70 { 71 ProductListViewModel products = Model.Item.GetValue<ProductListViewModel>("ProductLink"); 72 IList<string> productIds = new List<string> { }; 73 74 if (products != null) 75 { 76 foreach (var product in products.Products) 77 { 78 productIds.Add(product.Id); 79 } 80 } 81 82 string productParameter = productIds.Count == 1 ? "ProductID" : "MainProductId"; 83 string pageTag = productIds.Count == 1 ? "ProductDetailPage" : "Shop"; 84 link = new Dynamicweb.Frontend.LinkViewModel() 85 { 86 Url = "/Default.aspx?ID=" + GetPageIdByNavigationTag(pageTag) + "&" + productParameter + "=" + string.Join(",", productIds) 87 }; 88 } 89 90 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 91 { 92 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h3"); 93 94 <h3 class="@titleFontSize mb-3@(maxWidth)"> 95 @Model.Item.GetString("Title") 96 </h3> 97 } 98 99 if (!string.IsNullOrEmpty(Model.Item.GetString("Lead"))) 100 { 101 string subtitleFontSize = Model.Item.GetRawValueString("SubtitleFontSize", "fs-5"); 102 103 <p class="@subtitleFontSize lead mb-3@(maxWidth)"> 104 @Model.Item.GetString("Lead") 105 </p> 106 } 107 108 if (!string.IsNullOrEmpty(Model.Item.GetString("Text"))) 109 { 110 <div class="mb-0-last-child@(maxWidth)"> 111 @Model.Item.GetString("Text") 112 </div> 113 } 114 115 if (link != null && !string.IsNullOrEmpty(Model.Item.GetString("ButtonLabel"))) 116 { 117 string target = link.IsExternal ? "target=\"_blank\"" : ""; 118 string buttonStyle = Model.Item.GetRawValueString("ButtonStyle", ""); 119 buttonStyle = buttonStyle == "primary" ? "btn-primary" : buttonStyle; 120 buttonStyle = buttonStyle == "secondary" ? "btn-secondary" : buttonStyle; 121 122 <div class="mt-3"> 123 <a href="@link.Url" @target class="btn @(buttonStyle)@(StretchedLink)">@Model.Item.GetString("ButtonLabel")</a> 124 </div> 125 } 126 else if (link != null && !string.IsNullOrEmpty(link.Url)) 127 { 128 string target = link.IsExternal ? "target=\"_blank\"" : ""; 129 130 <a href="@link.Url" @target class="@StretchedLink"> 131 <span class="visually-hidden">@Model.Item.GetString("Title")</span> 132 </a> 133 } 134 } 135
PaveSmart™ Rustic
Create an aesthetically pleasing surface with these flat pavers made in preformed MMA with marble aggregates. This modern alternative to traditional cobblestones comes in three different colours and offers a decorative solution for public spaces or walkways.
Benefits
- Get a durable solution that is resistant to impacts and abrasion​, which means that both colours and shape stay intact due to its high stability.
- Increase safety in public spaces with PaveSmart Rustic's skid-resistance surface that creates the needed friction to avoid slip-and-fall accidents.
- Easy and hassle-free application process! The material is delivered pre-cut and ready for application simply using glue and quartz to post-sprinkle in the joints. No need for digging or breaking any surfaces.
PaveSmart™ Border
This curb-shaped preformed MMA can be used to delimit traffic areas and comes in both crossable and non-crossable types as well as in different aggregate colours. We recommend it specifically for parking entrances and exits, parking spaces, and pedestrian areas where it provides a highly durable and resistant solution that is easy to handle.
Benefits
- Make it easy to identify where specific traffic areas, lanes, or parking spaces start and stop by delimiting them with PaveSmart Border.
- Avoid unnecessary nuisance of traffic as the quick and easy installation process makes it possible to re-open traffic quickly.