Browse Source

Front-end, don't load/show module blocks if module is disabled

Vova Tkach 5 years ago
parent
commit
dea13353cb

+ 121 - 115
engine/assets/template/cached_block_3_html_file.go

@@ -1,135 +1,141 @@
 package template
 
-var VarCachedBlock_3HtmlFile = []byte(`<nav class="navbar navbar-expand-lg navbar-light bg-light navbar-cats">
-	<div class="container">
-		<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
-			<span class="navbar-toggler-icon"></span>
-		</button>
-		<div class="collapse navbar-collapse" id="navbarSupportedContent">
-			<ul class="navbar-nav mr-auto">
-				{{range $.Data.Shop.Categories 0 1}}
-					{{if .HaveChilds}}
-						<li class="nav-item dropdown">
-							<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{.Name}}</a>
-							<div class="dropdown-menu" aria-labelledby="navbarDropdown">
-								<a class="dropdown-item" href="{{.Permalink}}">All products</a>
-								<div class="dropdown-divider"></div>
-								{{range $index, $subcat := $.Data.Shop.Categories .Id 1}}
-									<a class="dropdown-item" href="{{$subcat.Permalink}}">{{$subcat.Name}}</a>
-								{{end}}
-							</div>
-						</li>
-					{{else}}
-						<li class="nav-item">
-							<a class="nav-link" href="{{.Permalink}}">{{.Name}}</a>
-						</li>
+var VarCachedBlock_3HtmlFile = []byte(`{{if $.Data.ModuleShopEnabled}}
+	<nav class="navbar navbar-expand-lg navbar-light bg-light navbar-cats">
+		<div class="container">
+			<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+				<span class="navbar-toggler-icon"></span>
+			</button>
+			<div class="collapse navbar-collapse" id="navbarSupportedContent">
+				<ul class="navbar-nav mr-auto">
+					{{range $.Data.Shop.Categories 0 1}}
+						{{if .HaveChilds}}
+							<li class="nav-item dropdown">
+								<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{.Name}}</a>
+								<div class="dropdown-menu" aria-labelledby="navbarDropdown">
+									<a class="dropdown-item" href="{{.Permalink}}">All products</a>
+									<div class="dropdown-divider"></div>
+									{{range $index, $subcat := $.Data.Shop.Categories .Id 1}}
+										<a class="dropdown-item" href="{{$subcat.Permalink}}">{{$subcat.Name}}</a>
+									{{end}}
+								</div>
+							</li>
+						{{else}}
+							<li class="nav-item">
+								<a class="nav-link" href="{{.Permalink}}">{{.Name}}</a>
+							</li>
+						{{end}}
 					{{end}}
-				{{end}}
-			</ul>
+				</ul>
+			</div>
 		</div>
-	</div>
-</nav>
-{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-category") (eq $.Data.Module "blog-post")}}
-	<div class="container clear-top pt-4">
-		<nav aria-label="breadcrumb">
-			<ol class="breadcrumb mb-0">
-				{{if eq $.Data.Module "blog"}}
-					<li class="breadcrumb-item">Blog</li>
-				{{else}}
-					<li class="breadcrumb-item"><a href="/blog/">Blog</a></li>
-				{{end}}
-				{{if eq $.Data.Module "blog-category"}}
-					{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Name}}</a></li>
+	</nav>
+{{end}}
+{{if $.Data.ModuleBlogEnabled}}
+	{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-category") (eq $.Data.Module "blog-post")}}
+		<div class="container clear-top pt-4">
+			<nav aria-label="breadcrumb">
+				<ol class="breadcrumb mb-0">
+					{{if eq $.Data.Module "blog"}}
+						<li class="breadcrumb-item">Blog</li>
+					{{else}}
+						<li class="breadcrumb-item"><a href="/blog/">Blog</a></li>
 					{{end}}
-					<li class="breadcrumb-item">{{$.Data.Blog.Category.Name}}</li>
-				{{end}}
-				{{if eq $.Data.Module "blog-post"}}
-					{{if $.Data.Blog.Post.Category.Id}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+					{{if eq $.Data.Module "blog-category"}}
+						{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Name}}</a></li>
 						{{end}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Permalink}}">{{$.Data.Blog.Post.Category.Name}}</a></li>
-					{{end}}
-					<li class="breadcrumb-item active">{{$.Data.Blog.Post.Name}}</li>
-				{{end}}
-			</ol>
-		</nav>
-	</div>
-{{end}}
-{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-category") (eq $.Data.Module "shop-product")}}
-	<div class="container clear-top pt-4">
-		<nav aria-label="breadcrumb">
-			<ol class="breadcrumb mb-0">
-				{{if eq $.Data.Module "shop"}}
-					<li class="breadcrumb-item">Shop</li>
-				{{else}}
-					<li class="breadcrumb-item"><a href="/shop/">Shop</a></li>
-				{{end}}
-				{{if eq $.Data.Module "shop-category"}}
-					{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+						<li class="breadcrumb-item">{{$.Data.Blog.Category.Name}}</li>
 					{{end}}
-					{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Shop.Category.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Shop.Category.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Name}}</a></li>
+					{{if eq $.Data.Module "blog-post"}}
+						{{if $.Data.Blog.Post.Category.Id}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Name}}</a></li>
+							{{end}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Permalink}}">{{$.Data.Blog.Post.Category.Name}}</a></li>
+						{{end}}
+						<li class="breadcrumb-item active">{{$.Data.Blog.Post.Name}}</li>
 					{{end}}
-					{{if $.Data.Shop.Category.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Name}}</a></li>
+				</ol>
+			</nav>
+		</div>
+	{{end}}
+{{end}}
+{{if $.Data.ModuleShopEnabled}}
+	{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-category") (eq $.Data.Module "shop-product")}}
+		<div class="container clear-top pt-4">
+			<nav aria-label="breadcrumb">
+				<ol class="breadcrumb mb-0">
+					{{if eq $.Data.Module "shop"}}
+						<li class="breadcrumb-item">Shop</li>
+					{{else}}
+						<li class="breadcrumb-item"><a href="/shop/">Shop</a></li>
 					{{end}}
-					<li class="breadcrumb-item">{{$.Data.Shop.Category.Name}}</li>
-				{{end}}
-				{{if eq $.Data.Module "shop-product"}}
-					{{if $.Data.Shop.Product.Category.Id}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+					{{if eq $.Data.Module "shop-category"}}
+						{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+						{{end}}
+						{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Shop.Category.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Shop.Category.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Shop.Category.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Name}}</a></li>
+						<li class="breadcrumb-item">{{$.Data.Shop.Category.Name}}</li>
+					{{end}}
+					{{if eq $.Data.Module "shop-product"}}
+						{{if $.Data.Shop.Product.Category.Id}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Name}}</a></li>
+							{{end}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Permalink}}">{{$.Data.Shop.Product.Category.Name}}</a></li>
 						{{end}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Permalink}}">{{$.Data.Shop.Product.Category.Name}}</a></li>
+						<li class="breadcrumb-item active">{{$.Data.Shop.Product.Name}} {{$.Data.Shop.Product.Id}}</li>
 					{{end}}
-					<li class="breadcrumb-item active">{{$.Data.Shop.Product.Name}} {{$.Data.Shop.Product.Id}}</li>
-				{{end}}
-			</ol>
-		</nav>
-	</div>
+				</ol>
+			</nav>
+		</div>
+	{{end}}
 {{end}}`)

+ 67 - 57
engine/assets/template/header_html_file.go

@@ -20,49 +20,51 @@ var VarHeaderHtmlFile = []byte(`<!doctype html>
 		<!-- Template CSS file from template folder -->
 		<link rel="stylesheet" href="{{$.System.PathThemeStyles}}">
 
-		<!-- Shop basket texts -->
-		<script type="text/javascript">
-			var ShopBasketName = 'Basket';
-			var ShopBasketTableProduct = 'Product';
-			var ShopBasketTablePrice = 'Price';
-			var ShopBasketTableQuantity = 'Quantity';
-			var ShopBasketTableSum = 'Sum';
-			var ShopBasketTotal = 'Total sum:';
-			var ShopBasketBtnContinue = 'Continue Shopping';
-			var ShopBasketBtnOrder = 'Make order';
-			var ShopBasketEmpty = 'Your basket currently empty...';
+		{{if $.Data.ModuleShopEnabled}}
+			<!-- Shop basket texts -->
+			<script type="text/javascript">
+				var ShopBasketName = 'Basket';
+				var ShopBasketTableProduct = 'Product';
+				var ShopBasketTablePrice = 'Price';
+				var ShopBasketTableQuantity = 'Quantity';
+				var ShopBasketTableSum = 'Sum';
+				var ShopBasketTotal = 'Total sum:';
+				var ShopBasketBtnContinue = 'Continue Shopping';
+				var ShopBasketBtnOrder = 'Make order';
+				var ShopBasketEmpty = 'Your basket currently empty...';
 
-			var ShopOrderLabelLastName = 'Last Name';
-			var ShopOrderLabelFirstName = 'First Name';
-			var ShopOrderLabelMiddleName = 'Middle Name';
-			var ShopOrderLabelMobilePhone = 'Mobile Phone';
-			var ShopOrderLabelEmailAddress = 'Email Address';
-			var ShopOrderLabelDelivery = 'Delivery';
-			var ShopOrderLabelComment = 'Comment';
+				var ShopOrderLabelLastName = 'Last Name';
+				var ShopOrderLabelFirstName = 'First Name';
+				var ShopOrderLabelMiddleName = 'Middle Name';
+				var ShopOrderLabelMobilePhone = 'Mobile Phone';
+				var ShopOrderLabelEmailAddress = 'Email Address';
+				var ShopOrderLabelDelivery = 'Delivery';
+				var ShopOrderLabelComment = 'Comment';
 
-			var ShopOrderRequiredLastName = {{$.Data.ShopOrderRequiredLastName}};
-			var ShopOrderRequiredFirstName = {{$.Data.ShopOrderRequiredFirstName}};
-			var ShopOrderRequiredMiddleName = {{$.Data.ShopOrderRequiredMiddleName}};
-			var ShopOrderRequiredMobilePhone = {{$.Data.ShopOrderRequiredMobilePhone}};
-			var ShopOrderRequiredEmailAddress = {{$.Data.ShopOrderRequiredEmailAddress}};
-			var ShopOrderRequiredDelivery = {{$.Data.ShopOrderRequiredDelivery}};
-			var ShopOrderRequiredComment = {{$.Data.ShopOrderRequiredComment}};
+				var ShopOrderRequiredLastName = {{$.Data.ShopOrderRequiredLastName}};
+				var ShopOrderRequiredFirstName = {{$.Data.ShopOrderRequiredFirstName}};
+				var ShopOrderRequiredMiddleName = {{$.Data.ShopOrderRequiredMiddleName}};
+				var ShopOrderRequiredMobilePhone = {{$.Data.ShopOrderRequiredMobilePhone}};
+				var ShopOrderRequiredEmailAddress = {{$.Data.ShopOrderRequiredEmailAddress}};
+				var ShopOrderRequiredDelivery = {{$.Data.ShopOrderRequiredDelivery}};
+				var ShopOrderRequiredComment = {{$.Data.ShopOrderRequiredComment}};
 
-			var ShopOrderError = 'Error!';
-			var ShopOrderErrorDisabled = 'Sorry, we are currently not accept new orders, please try little later';
-			var ShopOrderErrorBasketEmpty = 'Your basket is empty';
-			var ShopOrderErrorSomethingWrong = 'We cannot process your order, something is wrong...';
-			var ShopOrderEmptyLastName = 'Please enter your last name';
-			var ShopOrderEmptyFirstName = 'Please enter your first name';
-			var ShopOrderEmptyMiddleName = 'Please enter your middle name';
-			var ShopOrderEmptyMobilePhone = 'Please enter your mobile phone';
-			var ShopOrderEmptyEmailAddress = 'Please enter your email address';
-			var ShopOrderEmptyDelivery = 'Please enter delivery comment';
-			var ShopOrderEmptyComment = 'Please enter order comment';
-			var ShopOrderNotCorrectMobilePhone = 'For example: +15417543010';
-			var ShopOrderNotCorrectEmailAddress = 'For example: example@gmail.com';
-			var ShopOrderSuccess = '<b>Thank you for your order! We will call you shortly</b>';
-		</script>
+				var ShopOrderError = 'Error!';
+				var ShopOrderErrorDisabled = 'Sorry, we are currently not accept new orders, please try little later';
+				var ShopOrderErrorBasketEmpty = 'Your basket is empty';
+				var ShopOrderErrorSomethingWrong = 'We cannot process your order, something is wrong...';
+				var ShopOrderEmptyLastName = 'Please enter your last name';
+				var ShopOrderEmptyFirstName = 'Please enter your first name';
+				var ShopOrderEmptyMiddleName = 'Please enter your middle name';
+				var ShopOrderEmptyMobilePhone = 'Please enter your mobile phone';
+				var ShopOrderEmptyEmailAddress = 'Please enter your email address';
+				var ShopOrderEmptyDelivery = 'Please enter delivery comment';
+				var ShopOrderEmptyComment = 'Please enter order comment';
+				var ShopOrderNotCorrectMobilePhone = 'For example: +15417543010';
+				var ShopOrderNotCorrectEmailAddress = 'For example: example@gmail.com';
+				var ShopOrderSuccess = '<b>Thank you for your order! We will call you shortly</b>';
+			</script>
+		{{end}}
 	</head>
 	<body id="body" class="fixed-top-bar">
 		<div id="sys-modal-shop-basket-placeholder"></div>
@@ -71,7 +73,9 @@ var VarHeaderHtmlFile = []byte(`<!doctype html>
 				<div class="container">
 					<a class="navbar-brand" href="/">Fave {{$.System.InfoVersion}}</a>
 					<button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
-						<span id="basket-mobile-btn" class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span>
+						{{if $.Data.ModuleShopEnabled}}
+							<span id="basket-mobile-btn" class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span>
+						{{end}}
 						<span class="navbar-toggler-icon"></span>
 					</button>
 					<div class="collapse navbar-collapse" id="navbarResponsive">
@@ -85,25 +89,31 @@ var VarHeaderHtmlFile = []byte(`<!doctype html>
 							<li class="nav-item">
 								<a class="nav-link{{if eq $.Data.Page.Alias "/about/"}} active{{end}}" href="/about/">About</a>
 							</li>
-							<li class="nav-item">
-								<a class="nav-link{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-post") (eq $.Data.Module "blog-category")}} active{{end}}" href="/blog/">Blog</a>
-							</li>
-							<li class="nav-item">
-								<a class="nav-link{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-product") (eq $.Data.Module "shop-category")}} active{{end}}" href="/shop/">Shop</a>
-							</li>
+							{{if $.Data.ModuleBlogEnabled}}
+								<li class="nav-item">
+									<a class="nav-link{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-post") (eq $.Data.Module "blog-category")}} active{{end}}" href="/blog/">Blog</a>
+								</li>
+							{{end}}
+							{{if $.Data.ModuleShopEnabled}}
+								<li class="nav-item">
+									<a class="nav-link{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-product") (eq $.Data.Module "shop-category")}} active{{end}}" href="/shop/">Shop</a>
+								</li>
+							{{end}}
 							<li class="nav-item">
 								<a class="nav-link{{if eq $.Data.Module "404"}} active{{end}}" href="/not-existent-page/">404</a>
 							</li>
-							<li class="nav-item">
-								<a id="basket-nav-btn" class="nav-link" href="" onclick="window&&window.frontend&&frontend.ShopBasketBtnCollapse()&&frontend.ShopBasketOpen(this);return false;">Basket <span class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span></a>
-							</li>
-							<li class="currency-changer">
-								<select class="form-control" onchange="document.location='/shop/basket/currency/'+this.value+'/';">
-									{{range $.Data.Shop.Currencies}}
-										<option value="{{.Id}}"{{if eq .Id $.Data.Shop.CurrentCurrency.Id}} selected{{end}}>{{.Code}}</option>
-									{{end}}
-								</select>
-							</li>
+							{{if $.Data.ModuleShopEnabled}}
+								<li class="nav-item">
+									<a id="basket-nav-btn" class="nav-link" href="" onclick="window&&window.frontend&&frontend.ShopBasketBtnCollapse()&&frontend.ShopBasketOpen(this);return false;">Basket <span class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span></a>
+								</li>
+								<li class="currency-changer">
+									<select class="form-control" onchange="document.location='/shop/basket/currency/'+this.value+'/';">
+										{{range $.Data.Shop.Currencies}}
+											<option value="{{.Id}}"{{if eq .Id $.Data.Shop.CurrentCurrency.Id}} selected{{end}}>{{.Code}}</option>
+										{{end}}
+									</select>
+								</li>
+							{{end}}
 						</ul>
 					</div>
 				</div>

+ 15 - 13
engine/assets/template/sidebar_left_html_file.go

@@ -1,16 +1,18 @@
 package template
 
-var VarSidebarLeftHtmlFile = []byte(`<div class="card mb-4">
-	<h5 class="card-header">Shop categories</h5>
-	<div class="card-body">
-		<ul class="m-0 p-0 pl-4">
-			{{$.Data.CachedBlock4}}
-		</ul>
+var VarSidebarLeftHtmlFile = []byte(`{{if $.Data.ModuleShopEnabled}}
+	<div class="card mb-4">
+		<h5 class="card-header">Shop categories</h5>
+		<div class="card-body">
+			<ul class="m-0 p-0 pl-4">
+				{{$.Data.CachedBlock4}}
+			</ul>
+		</div>
 	</div>
-</div>
-<!-- <div class="card mb-4">
-	<h5 class="card-header">Shop filter</h5>
-	<div class="card-body">
-		Filter
-	</div>
-</div> -->`)
+	<!-- <div class="card mb-4">
+		<h5 class="card-header">Shop filter</h5>
+		<div class="card-body">
+			Filter
+		</div>
+	</div> -->
+{{end}}`)

+ 9 - 7
engine/assets/template/sidebar_right_html_file.go

@@ -1,13 +1,15 @@
 package template
 
-var VarSidebarRightHtmlFile = []byte(`<div class="card mb-4">
-	<h5 class="card-header">Blog categories</h5>
-	<div class="card-body">
-		<ul class="m-0 p-0 pl-4">
-			{{$.Data.CachedBlock5}}
-		</ul>
+var VarSidebarRightHtmlFile = []byte(`{{if $.Data.ModuleBlogEnabled}}
+	<div class="card mb-4">
+		<h5 class="card-header">Blog categories</h5>
+		<div class="card-body">
+			<ul class="m-0 p-0 pl-4">
+				{{$.Data.CachedBlock5}}
+			</ul>
+		</div>
 	</div>
-</div>
+{{end}}
 <div class="card mb-4">
 	<h5 class="card-header">Useful links</h5>
 	<div class="card-body">

+ 8 - 0
engine/fetdata/fetdata.go

@@ -139,6 +139,14 @@ func (this *FERData) Module() string {
 	return mod
 }
 
+func (this *FERData) ModuleBlogEnabled() bool {
+	return (*this.wrap.Config).Modules.Enabled.Blog != 0
+}
+
+func (this *FERData) ModuleShopEnabled() bool {
+	return (*this.wrap.Config).Modules.Enabled.Shop != 0
+}
+
 func (this *FERData) DateTimeUnix() int {
 	return int(time.Now().Unix())
 }

+ 121 - 115
hosts/localhost/template/cached-block-3.html

@@ -1,133 +1,139 @@
-<nav class="navbar navbar-expand-lg navbar-light bg-light navbar-cats">
-	<div class="container">
-		<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
-			<span class="navbar-toggler-icon"></span>
-		</button>
-		<div class="collapse navbar-collapse" id="navbarSupportedContent">
-			<ul class="navbar-nav mr-auto">
-				{{range $.Data.Shop.Categories 0 1}}
-					{{if .HaveChilds}}
-						<li class="nav-item dropdown">
-							<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{.Name}}</a>
-							<div class="dropdown-menu" aria-labelledby="navbarDropdown">
-								<a class="dropdown-item" href="{{.Permalink}}">All products</a>
-								<div class="dropdown-divider"></div>
-								{{range $index, $subcat := $.Data.Shop.Categories .Id 1}}
-									<a class="dropdown-item" href="{{$subcat.Permalink}}">{{$subcat.Name}}</a>
-								{{end}}
-							</div>
-						</li>
-					{{else}}
-						<li class="nav-item">
-							<a class="nav-link" href="{{.Permalink}}">{{.Name}}</a>
-						</li>
+{{if $.Data.ModuleShopEnabled}}
+	<nav class="navbar navbar-expand-lg navbar-light bg-light navbar-cats">
+		<div class="container">
+			<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+				<span class="navbar-toggler-icon"></span>
+			</button>
+			<div class="collapse navbar-collapse" id="navbarSupportedContent">
+				<ul class="navbar-nav mr-auto">
+					{{range $.Data.Shop.Categories 0 1}}
+						{{if .HaveChilds}}
+							<li class="nav-item dropdown">
+								<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{.Name}}</a>
+								<div class="dropdown-menu" aria-labelledby="navbarDropdown">
+									<a class="dropdown-item" href="{{.Permalink}}">All products</a>
+									<div class="dropdown-divider"></div>
+									{{range $index, $subcat := $.Data.Shop.Categories .Id 1}}
+										<a class="dropdown-item" href="{{$subcat.Permalink}}">{{$subcat.Name}}</a>
+									{{end}}
+								</div>
+							</li>
+						{{else}}
+							<li class="nav-item">
+								<a class="nav-link" href="{{.Permalink}}">{{.Name}}</a>
+							</li>
+						{{end}}
 					{{end}}
-				{{end}}
-			</ul>
+				</ul>
+			</div>
 		</div>
-	</div>
-</nav>
-{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-category") (eq $.Data.Module "blog-post")}}
-	<div class="container clear-top pt-4">
-		<nav aria-label="breadcrumb">
-			<ol class="breadcrumb mb-0">
-				{{if eq $.Data.Module "blog"}}
-					<li class="breadcrumb-item">Blog</li>
-				{{else}}
-					<li class="breadcrumb-item"><a href="/blog/">Blog</a></li>
-				{{end}}
-				{{if eq $.Data.Module "blog-category"}}
-					{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Blog.Category.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Name}}</a></li>
+	</nav>
+{{end}}
+{{if $.Data.ModuleBlogEnabled}}
+	{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-category") (eq $.Data.Module "blog-post")}}
+		<div class="container clear-top pt-4">
+			<nav aria-label="breadcrumb">
+				<ol class="breadcrumb mb-0">
+					{{if eq $.Data.Module "blog"}}
+						<li class="breadcrumb-item">Blog</li>
+					{{else}}
+						<li class="breadcrumb-item"><a href="/blog/">Blog</a></li>
 					{{end}}
-					<li class="breadcrumb-item">{{$.Data.Blog.Category.Name}}</li>
-				{{end}}
-				{{if eq $.Data.Module "blog-post"}}
-					{{if $.Data.Blog.Post.Category.Id}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+					{{if eq $.Data.Module "blog-category"}}
+						{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Blog.Post.Category.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Name}}</a></li>
+						{{if $.Data.Blog.Category.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Category.Parent.Permalink}}">{{$.Data.Blog.Category.Parent.Name}}</a></li>
 						{{end}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Permalink}}">{{$.Data.Blog.Post.Category.Name}}</a></li>
-					{{end}}
-					<li class="breadcrumb-item active">{{$.Data.Blog.Post.Name}}</li>
-				{{end}}
-			</ol>
-		</nav>
-	</div>
-{{end}}
-{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-category") (eq $.Data.Module "shop-product")}}
-	<div class="container clear-top pt-4">
-		<nav aria-label="breadcrumb">
-			<ol class="breadcrumb mb-0">
-				{{if eq $.Data.Module "shop"}}
-					<li class="breadcrumb-item">Shop</li>
-				{{else}}
-					<li class="breadcrumb-item"><a href="/shop/">Shop</a></li>
-				{{end}}
-				{{if eq $.Data.Module "shop-category"}}
-					{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+						<li class="breadcrumb-item">{{$.Data.Blog.Category.Name}}</li>
 					{{end}}
-					{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Shop.Category.Parent.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Name}}</a></li>
-					{{end}}
-					{{if $.Data.Shop.Category.Parent.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Name}}</a></li>
+					{{if eq $.Data.Module "blog-post"}}
+						{{if $.Data.Blog.Post.Category.Id}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Blog.Post.Category.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Parent.Permalink}}">{{$.Data.Blog.Post.Category.Parent.Name}}</a></li>
+							{{end}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Blog.Post.Category.Permalink}}">{{$.Data.Blog.Post.Category.Name}}</a></li>
+						{{end}}
+						<li class="breadcrumb-item active">{{$.Data.Blog.Post.Name}}</li>
 					{{end}}
-					{{if $.Data.Shop.Category.Parent}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Name}}</a></li>
+				</ol>
+			</nav>
+		</div>
+	{{end}}
+{{end}}
+{{if $.Data.ModuleShopEnabled}}
+	{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-category") (eq $.Data.Module "shop-product")}}
+		<div class="container clear-top pt-4">
+			<nav aria-label="breadcrumb">
+				<ol class="breadcrumb mb-0">
+					{{if eq $.Data.Module "shop"}}
+						<li class="breadcrumb-item">Shop</li>
+					{{else}}
+						<li class="breadcrumb-item"><a href="/shop/">Shop</a></li>
 					{{end}}
-					<li class="breadcrumb-item">{{$.Data.Shop.Category.Name}}</li>
-				{{end}}
-				{{if eq $.Data.Module "shop-product"}}
-					{{if $.Data.Shop.Product.Category.Id}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+					{{if eq $.Data.Module "shop-category"}}
+						{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+						{{end}}
+						{{if $.Data.Shop.Category.Parent.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Shop.Category.Parent.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Shop.Category.Parent.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Name}}</a></li>
+						{{if $.Data.Shop.Category.Parent}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Category.Parent.Permalink}}">{{$.Data.Shop.Category.Parent.Name}}</a></li>
 						{{end}}
-						{{if $.Data.Shop.Product.Category.Parent}}
-							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Name}}</a></li>
+						<li class="breadcrumb-item">{{$.Data.Shop.Category.Name}}</li>
+					{{end}}
+					{{if eq $.Data.Module "shop-product"}}
+						{{if $.Data.Shop.Product.Category.Id}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Parent.Name}}</a></li>
+							{{end}}
+							{{if $.Data.Shop.Product.Category.Parent}}
+								<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Parent.Permalink}}">{{$.Data.Shop.Product.Category.Parent.Name}}</a></li>
+							{{end}}
+							<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Permalink}}">{{$.Data.Shop.Product.Category.Name}}</a></li>
 						{{end}}
-						<li class="breadcrumb-item"><a href="{{$.Data.Shop.Product.Category.Permalink}}">{{$.Data.Shop.Product.Category.Name}}</a></li>
+						<li class="breadcrumb-item active">{{$.Data.Shop.Product.Name}} {{$.Data.Shop.Product.Id}}</li>
 					{{end}}
-					<li class="breadcrumb-item active">{{$.Data.Shop.Product.Name}} {{$.Data.Shop.Product.Id}}</li>
-				{{end}}
-			</ol>
-		</nav>
-	</div>
+				</ol>
+			</nav>
+		</div>
+	{{end}}
 {{end}}

+ 67 - 57
hosts/localhost/template/header.html

@@ -18,49 +18,51 @@
 		<!-- Template CSS file from template folder -->
 		<link rel="stylesheet" href="{{$.System.PathThemeStyles}}">
 
-		<!-- Shop basket texts -->
-		<script type="text/javascript">
-			var ShopBasketName = 'Basket';
-			var ShopBasketTableProduct = 'Product';
-			var ShopBasketTablePrice = 'Price';
-			var ShopBasketTableQuantity = 'Quantity';
-			var ShopBasketTableSum = 'Sum';
-			var ShopBasketTotal = 'Total sum:';
-			var ShopBasketBtnContinue = 'Continue Shopping';
-			var ShopBasketBtnOrder = 'Make order';
-			var ShopBasketEmpty = 'Your basket currently empty...';
+		{{if $.Data.ModuleShopEnabled}}
+			<!-- Shop basket texts -->
+			<script type="text/javascript">
+				var ShopBasketName = 'Basket';
+				var ShopBasketTableProduct = 'Product';
+				var ShopBasketTablePrice = 'Price';
+				var ShopBasketTableQuantity = 'Quantity';
+				var ShopBasketTableSum = 'Sum';
+				var ShopBasketTotal = 'Total sum:';
+				var ShopBasketBtnContinue = 'Continue Shopping';
+				var ShopBasketBtnOrder = 'Make order';
+				var ShopBasketEmpty = 'Your basket currently empty...';
 
-			var ShopOrderLabelLastName = 'Last Name';
-			var ShopOrderLabelFirstName = 'First Name';
-			var ShopOrderLabelMiddleName = 'Middle Name';
-			var ShopOrderLabelMobilePhone = 'Mobile Phone';
-			var ShopOrderLabelEmailAddress = 'Email Address';
-			var ShopOrderLabelDelivery = 'Delivery';
-			var ShopOrderLabelComment = 'Comment';
+				var ShopOrderLabelLastName = 'Last Name';
+				var ShopOrderLabelFirstName = 'First Name';
+				var ShopOrderLabelMiddleName = 'Middle Name';
+				var ShopOrderLabelMobilePhone = 'Mobile Phone';
+				var ShopOrderLabelEmailAddress = 'Email Address';
+				var ShopOrderLabelDelivery = 'Delivery';
+				var ShopOrderLabelComment = 'Comment';
 
-			var ShopOrderRequiredLastName = {{$.Data.ShopOrderRequiredLastName}};
-			var ShopOrderRequiredFirstName = {{$.Data.ShopOrderRequiredFirstName}};
-			var ShopOrderRequiredMiddleName = {{$.Data.ShopOrderRequiredMiddleName}};
-			var ShopOrderRequiredMobilePhone = {{$.Data.ShopOrderRequiredMobilePhone}};
-			var ShopOrderRequiredEmailAddress = {{$.Data.ShopOrderRequiredEmailAddress}};
-			var ShopOrderRequiredDelivery = {{$.Data.ShopOrderRequiredDelivery}};
-			var ShopOrderRequiredComment = {{$.Data.ShopOrderRequiredComment}};
+				var ShopOrderRequiredLastName = {{$.Data.ShopOrderRequiredLastName}};
+				var ShopOrderRequiredFirstName = {{$.Data.ShopOrderRequiredFirstName}};
+				var ShopOrderRequiredMiddleName = {{$.Data.ShopOrderRequiredMiddleName}};
+				var ShopOrderRequiredMobilePhone = {{$.Data.ShopOrderRequiredMobilePhone}};
+				var ShopOrderRequiredEmailAddress = {{$.Data.ShopOrderRequiredEmailAddress}};
+				var ShopOrderRequiredDelivery = {{$.Data.ShopOrderRequiredDelivery}};
+				var ShopOrderRequiredComment = {{$.Data.ShopOrderRequiredComment}};
 
-			var ShopOrderError = 'Error!';
-			var ShopOrderErrorDisabled = 'Sorry, we are currently not accept new orders, please try little later';
-			var ShopOrderErrorBasketEmpty = 'Your basket is empty';
-			var ShopOrderErrorSomethingWrong = 'We cannot process your order, something is wrong...';
-			var ShopOrderEmptyLastName = 'Please enter your last name';
-			var ShopOrderEmptyFirstName = 'Please enter your first name';
-			var ShopOrderEmptyMiddleName = 'Please enter your middle name';
-			var ShopOrderEmptyMobilePhone = 'Please enter your mobile phone';
-			var ShopOrderEmptyEmailAddress = 'Please enter your email address';
-			var ShopOrderEmptyDelivery = 'Please enter delivery comment';
-			var ShopOrderEmptyComment = 'Please enter order comment';
-			var ShopOrderNotCorrectMobilePhone = 'For example: +15417543010';
-			var ShopOrderNotCorrectEmailAddress = 'For example: example@gmail.com';
-			var ShopOrderSuccess = '<b>Thank you for your order! We will call you shortly</b>';
-		</script>
+				var ShopOrderError = 'Error!';
+				var ShopOrderErrorDisabled = 'Sorry, we are currently not accept new orders, please try little later';
+				var ShopOrderErrorBasketEmpty = 'Your basket is empty';
+				var ShopOrderErrorSomethingWrong = 'We cannot process your order, something is wrong...';
+				var ShopOrderEmptyLastName = 'Please enter your last name';
+				var ShopOrderEmptyFirstName = 'Please enter your first name';
+				var ShopOrderEmptyMiddleName = 'Please enter your middle name';
+				var ShopOrderEmptyMobilePhone = 'Please enter your mobile phone';
+				var ShopOrderEmptyEmailAddress = 'Please enter your email address';
+				var ShopOrderEmptyDelivery = 'Please enter delivery comment';
+				var ShopOrderEmptyComment = 'Please enter order comment';
+				var ShopOrderNotCorrectMobilePhone = 'For example: +15417543010';
+				var ShopOrderNotCorrectEmailAddress = 'For example: example@gmail.com';
+				var ShopOrderSuccess = '<b>Thank you for your order! We will call you shortly</b>';
+			</script>
+		{{end}}
 	</head>
 	<body id="body" class="fixed-top-bar">
 		<div id="sys-modal-shop-basket-placeholder"></div>
@@ -69,7 +71,9 @@
 				<div class="container">
 					<a class="navbar-brand" href="/">Fave {{$.System.InfoVersion}}</a>
 					<button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
-						<span id="basket-mobile-btn" class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span>
+						{{if $.Data.ModuleShopEnabled}}
+							<span id="basket-mobile-btn" class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span>
+						{{end}}
 						<span class="navbar-toggler-icon"></span>
 					</button>
 					<div class="collapse navbar-collapse" id="navbarResponsive">
@@ -83,25 +87,31 @@
 							<li class="nav-item">
 								<a class="nav-link{{if eq $.Data.Page.Alias "/about/"}} active{{end}}" href="/about/">About</a>
 							</li>
-							<li class="nav-item">
-								<a class="nav-link{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-post") (eq $.Data.Module "blog-category")}} active{{end}}" href="/blog/">Blog</a>
-							</li>
-							<li class="nav-item">
-								<a class="nav-link{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-product") (eq $.Data.Module "shop-category")}} active{{end}}" href="/shop/">Shop</a>
-							</li>
+							{{if $.Data.ModuleBlogEnabled}}
+								<li class="nav-item">
+									<a class="nav-link{{if or (eq $.Data.Module "blog") (eq $.Data.Module "blog-post") (eq $.Data.Module "blog-category")}} active{{end}}" href="/blog/">Blog</a>
+								</li>
+							{{end}}
+							{{if $.Data.ModuleShopEnabled}}
+								<li class="nav-item">
+									<a class="nav-link{{if or (eq $.Data.Module "shop") (eq $.Data.Module "shop-product") (eq $.Data.Module "shop-category")}} active{{end}}" href="/shop/">Shop</a>
+								</li>
+							{{end}}
 							<li class="nav-item">
 								<a class="nav-link{{if eq $.Data.Module "404"}} active{{end}}" href="/not-existent-page/">404</a>
 							</li>
-							<li class="nav-item">
-								<a id="basket-nav-btn" class="nav-link" href="" onclick="window&&window.frontend&&frontend.ShopBasketBtnCollapse()&&frontend.ShopBasketOpen(this);return false;">Basket <span class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span></a>
-							</li>
-							<li class="currency-changer">
-								<select class="form-control" onchange="document.location='/shop/basket/currency/'+this.value+'/';">
-									{{range $.Data.Shop.Currencies}}
-										<option value="{{.Id}}"{{if eq .Id $.Data.Shop.CurrentCurrency.Id}} selected{{end}}>{{.Code}}</option>
-									{{end}}
-								</select>
-							</li>
+							{{if $.Data.ModuleShopEnabled}}
+								<li class="nav-item">
+									<a id="basket-nav-btn" class="nav-link" href="" onclick="window&&window.frontend&&frontend.ShopBasketBtnCollapse()&&frontend.ShopBasketOpen(this);return false;">Basket <span class="badge badge-pill badge-primary">{{$.Data.ShopBasketProductsCount}}</span></a>
+								</li>
+								<li class="currency-changer">
+									<select class="form-control" onchange="document.location='/shop/basket/currency/'+this.value+'/';">
+										{{range $.Data.Shop.Currencies}}
+											<option value="{{.Id}}"{{if eq .Id $.Data.Shop.CurrentCurrency.Id}} selected{{end}}>{{.Code}}</option>
+										{{end}}
+									</select>
+								</li>
+							{{end}}
 						</ul>
 					</div>
 				</div>

+ 15 - 13
hosts/localhost/template/sidebar-left.html

@@ -1,14 +1,16 @@
-<div class="card mb-4">
-	<h5 class="card-header">Shop categories</h5>
-	<div class="card-body">
-		<ul class="m-0 p-0 pl-4">
-			{{$.Data.CachedBlock4}}
-		</ul>
+{{if $.Data.ModuleShopEnabled}}
+	<div class="card mb-4">
+		<h5 class="card-header">Shop categories</h5>
+		<div class="card-body">
+			<ul class="m-0 p-0 pl-4">
+				{{$.Data.CachedBlock4}}
+			</ul>
+		</div>
 	</div>
-</div>
-<!-- <div class="card mb-4">
-	<h5 class="card-header">Shop filter</h5>
-	<div class="card-body">
-		Filter
-	</div>
-</div> -->
+	<!-- <div class="card mb-4">
+		<h5 class="card-header">Shop filter</h5>
+		<div class="card-body">
+			Filter
+		</div>
+	</div> -->
+{{end}}

+ 9 - 7
hosts/localhost/template/sidebar-right.html

@@ -1,11 +1,13 @@
-<div class="card mb-4">
-	<h5 class="card-header">Blog categories</h5>
-	<div class="card-body">
-		<ul class="m-0 p-0 pl-4">
-			{{$.Data.CachedBlock5}}
-		</ul>
+{{if $.Data.ModuleBlogEnabled}}
+	<div class="card mb-4">
+		<h5 class="card-header">Blog categories</h5>
+		<div class="card-body">
+			<ul class="m-0 p-0 pl-4">
+				{{$.Data.CachedBlock5}}
+			</ul>
+		</div>
 	</div>
-</div>
+{{end}}
 <div class="card mb-4">
 	<h5 class="card-header">Useful links</h5>
 	<div class="card-body">