У меня есть две веб-страницы на golang, и я хочу встроить коды этих страниц в переменную {{.content}} (определенную в templates / main.html) с динамической обработкой в соответствии с поступающими запросами.
Например, если гость войдет на страницу регистрации пользователя, которую я хочу, в переменную {{.content}} войдут коды регистрации пользователя, иначе - коды пользовательских профилей.
templates / userregister.html Коды страниц;
{{ define "userregister" }}
...
{{.specialmessage}}
...
{{ end }}
templates / userprofile.html Коды страниц;
{{ define "userprofile" }}
...
{{.specialmessage}}
...
{{ end }}
шаблоны / main.html;
{{ define "main" }}
<!DOCTYPE html>
<html lang="tr">
{{ template "head" . }}
<body>
<div class="container-fluid">
{{ template "header" . }}
<div class="row">
<nav class="col-12 col-md-2 p-0">
{{ template "leftmenu" . }}
</nav>
<div class="container-fluid col-12 col-md-10">
{{.content}}
</div>
</div>
{{ template "footer" . }}
</div>
</body>
</html>
{{ end }}
Контроллер страницы регистрации пользователя;
func PgUserRegister(c *gin.Context) {
c.HTML(http.StatusOK,"main", gin.H{
"pgETitle": "User Register page",
"specialmessage": "You are on the userregister page.",
"content": template.ParseFiles("userregister.html"),
})
}
Контроллер страницы профиля пользователя;
func PgUserProfile(c *gin.Context) {
c.HTML(http.StatusOK,"main", gin.H{
"pgETitle": "User Profile",
"specialmessage": "You are on the userprofile page.",
"content": template.ParseFiles("userprofile.html"),
})
}