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 關注
- 122 瀏覽
添加回答
舉報