Heim >Backend-Entwicklung >Golang >Wie verwende ich Basisvorlagendateien in Gos HTML/Template?

Wie verwende ich Basisvorlagendateien in Gos HTML/Template?

DDD
DDDOriginal
2024-11-07 11:12:031045Durchsuche

How Do I Use Base Template Files in Go's HTML/Template?

Basisvorlagendateien in Gos HTML/Vorlage verwenden

Bei der Webentwicklung trägt die Verwendung von Basislayoutvorlagen dazu bei, die Konsistenz über mehrere Seiten hinweg aufrechtzuerhalten. Lassen Sie uns verstehen, wie diese Technik in Gos HTML/Vorlage verwendet wird.

Nehmen wir zum Beispiel an, wir haben drei Dateien:

base.html:Die Basislayoutdatei

<!DOCTYPE html>
<html lang="en">
<body>

header...

{{template "content" .}}

footer...

</body>
</html>

page1.html: Eine Seitenvorlage für „/page1“

{{define "content"}}
<div>
    <h1>Page1</h1>
</div>
{{end}}
{{template "base.html"}}

page2.html: Eine Seitenvorlage für „ /page2“

{{define "content"}}
<div>
    <h1>Page2</h1>
</div>
{{end}}
{{template "base.html"}}

Das Problem besteht darin, dass sowohl „/page1“ als auch „/page2“ derzeit dieselbe Vorlagendatei verwenden, „page2.html“.

Um das „ Wenn Sie die Layoutvorlage „base.html“ verwenden, müssen Sie die Vorlagen „content“ und „base“ gemeinsam analysieren. Dies wird mit ParseFiles und ExecuteTemplate erreicht.

base.html (aktualisiert):

{{define "base"}}
<!DOCTYPE html>
<html lang="en">
<body>

header...

{{template "content" .}}

footer...

</body>
</html>
{{end}}

page1.html (aktualisiert):

{{define "content"}}
I'm page 1
{{end}}

page2.html (aktualisiert):

{{define "content"}}
I'm page 2
{{end}}

Verwendung:

tmpl, err := template.New("").ParseFiles("page1.html", "base.html")
// handle error
err = tmpl.ExecuteTemplate(w, "base", yourContext)

Dies wird gerendert den entsprechenden Inhalt innerhalb der Basislayoutvorlage. Wenn Sie beispielsweise „/page1“ rendern, wird der Inhalt „Ich bin Seite 1“ in den Abschnitt {{template „content. .“}} der Basisvorlage integriert.

Das obige ist der detaillierte Inhalt vonWie verwende ich Basisvorlagendateien in Gos HTML/Template?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn