奇妙な探している質問のために私を許してください。私は、1つのステートメントで自分の問題をどのように述べるかを正確にはわかりませんでした。golangで異なるインターフェイスを使用して1つのWebページで複数のテンプレートを実行するにはどうすればよいですか?
私のウェブページ、ヘッダー、レイアウト、フッターには3つのテンプレートがあります。
テンプレートのヘッダーには、カテゴリのドロップダウンメニューがあり、私のゴーコードにサブメニューアイテムの文字列があります。
Categories := []string{"Holiday","IQ","Future"}
と私が行うとき、テンプレートヘッダは
<div class="ui dropdown item">
<i class="browser icon"></i>
Categories
<i class="dropdown icon"></i>
<div class="menu">
{{range $i,$e:= .}}
<a class="item"><i class="hashtag icon"></i>{{$e}}</a>
{{end}}
</div>
</div>
ので、htmlコードを以下している、
t,err :=template.ParseFiles("template/header.html","template/index.html","template/footer.html")
t.ExecuteTemplate(w,"header",Categories)
それは私に素敵な探してヘッダを与えますが、私は
を行う必要がありますt.ExecuteTemplate(w,"layout",Featured)
メインページです。レイアウトテンプレートは次の構造を持っています
some html code
{{template "header"}}
more html code
{{template "footer"}}
両方の実行テンプレートステートメントを併用すると明らかに2つの異なるヘッダーが表示されます。
テンプレートレイアウトからテンプレートヘッダーを削除すると、視覚的な出力は完璧ですが、htmlコードを見ると、メニューバーは "リンクrel"ステートメントの上になります(覚えておいてください。レイアウトテンプレートの{{template "header"}})、それは明らかに良くありません。
両方のテンプレートがそれぞれの構造体を使用して同時に実行されるようにするにはどうすればよいですか?