/
template.go
51 lines (46 loc) · 833 Bytes
/
template.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package templates
import (
"net/http"
"net/url"
i18n "github.com/azizka85/azizka-go-i18n"
"github.com/azizka85/azizka-go-my-routes/data"
"github.com/azizka85/azizka-go-my-routes/templates/layouts"
)
func RenderPage(
ajax bool,
lang string,
content string,
layoutNames []string,
query url.Values,
request *http.Request,
user *data.User,
settings *data.Settings,
translator *i18n.Translator,
) string {
for _, layoutName := range layoutNames {
switch layoutName {
case "main-layout":
content = layouts.Main(
query.Has("main-layout-navigation"),
settings.PageRoot,
lang,
content,
query,
request,
user,
settings,
translator,
)
}
}
if !ajax {
content = layouts.Default(
lang,
settings.PageRoot,
content,
settings,
translator,
)
}
return content
}