# Template Functions
Beego supports custom template functions, but it must be set as below before web.Run()
:
func hello(in string)(out string){
out = in + "world"
return
}
web.AddFuncMap("hi",hello)
Then you can use these functions in template:
{{.Content | hi}}
Here are Beego's built-in template functions:
- dateformat: Format time, return string.
{{dateformat .Time "2006-01-02T15:04:05Z07:00"}}
- date: This is similar to date function in PHP. It can easily return time by string.
{{date .T "Y-m-d H:i:s"}}
- compare: Compare two objects. If they are the same return true, otherwise return false.
{{compare .A .B}}
- substr: Return sub string, supports UTF-8 string.
{{substr .Str 0 30}}
- html2str: Parse html to string by removing tags like script and css and return text.
{{html2str .Htmlinfo}}
- str2html: Parse string to HTML, no escaping.
{{str2html .Strhtml}}
- htmlquote: Escaping html.
{{htmlquote .quote}}
- htmlunquote: Unescaping to html.
{{htmlunquote .unquote}}
- renderform: Generate form from StructTag.
{{&struct | renderform}}
- assets_js: Create a
<script>
tag from js src.{{assets_js src}}
- assets_css: Create a
<link>
tag from css src.{{assets_css src}}
- config: Get the value of AppConfig and the type must be String, Bool, Int, Int64, Float, or DIY.
{{config configType configKey defaultValue}}
- map_get: Get value of
map
by key.// In controller Data["m"] = map[string]interface{} { "a": 1, "1": map[string]float64{ "c": 4, }, } // In view {{ map_get m "a" }} // return 1 {{ map_get m 1 "c" }} // return 4
- urlfor: Get the URL of a controller method.
{{urlfor "TestController.List"}}