34 lines
720 B
Go
34 lines
720 B
Go
package handler
|
|
|
|
import (
|
|
"html/template"
|
|
"io"
|
|
)
|
|
|
|
var views = make(map[string]*template.Template)
|
|
|
|
func (h *Handler) initTpl() {
|
|
commonTemplates := ""
|
|
for _, content := range TplCommonMap {
|
|
commonTemplates += content
|
|
}
|
|
|
|
for name, content := range TplMap {
|
|
views[name] = template.Must(template.New("main").Parse(commonTemplates + content))
|
|
}
|
|
}
|
|
|
|
func (h *Handler) renderLayout(w io.Writer, view string, params map[string]interface{}, user string) {
|
|
data := make(map[string]interface{})
|
|
if params != nil {
|
|
for k, v := range params {
|
|
data[k] = v
|
|
}
|
|
}
|
|
data["logged"] = user
|
|
views[view].ExecuteTemplate(w, "layout", data)
|
|
}
|
|
|
|
func (h *Handler) view(view string) *template.Template {
|
|
return views[view]
|
|
}
|