1 回答
TA贡献1871条经验 获得超8个赞
您可以轻松实现自己的渲染器,如此处指南中所述,并使用 Go 自己的html/template
包来管理模板:
import (
"html/template"
// ...
)
type TemplateRenderer struct {
templates *template.Template
}
func (t *TemplateRenderer) Render(w io.Writer, name string, data interface{}, c echo.Context) error {
// Add global methods if data is a map
if viewContext, isMap := data.(map[string]interface{}); isMap {
viewContext["reverse"] = c.Echo().Reverse
}
return t.templates.ExecuteTemplate(w, name, data)
}
并让模板访问自定义函数,您可以使用如下Funcs方法:
renderer := &TemplateRenderer{
templates: template.Must(template.New("t").Funcs(template.FuncMap{
"AddTS": util.AddTS,
"Encrypt": util.EncryptGeneral,
"CombineVariable": util.CombineVariable,
}).ParseGlob("templates/*/*.tmpl")),
}
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报