Я пытаюсь поместить значения в шаблон заголовка, например, заголовок и ссылки навигации, но не могу получить доступ к переменным, которые я отправил в основной шаблон из включенного.Переменная в шаблоне, включенном в шаблон
Рендеринг шаблона:
...
templateName := "index"
args := map[string]string{
"Title": "Main Page",
"Body": "This is the content",
}
PageTemplates.ExecuteTemplate(w, templateName+".html", args)
...
шаблон index.html:
{{template "header"}} <-- Including the "header.html" template
{{.Body}} <-- Variable that works
{{template "footer"}} <-- Does not matter!
шаблон header.html:
{{define "header"}}
<!DOCTYPE html>
<html lang="en">
<head>
<title>{{.Title}}</title> <-- Variable empty :(
</head>
<body>
{{end}}
По-видимому, он не будет работать таким образом.
Возможно, есть способ, которым я мог бы разобрать/получить шаблон и поместить в него мои переменные, не помещая весь заголовочный файл в код? Тогда я мог бы просто отправить этот шаблон в качестве переменной в мой основной шаблон. Но это не похоже, что это лучший способ сделать это.