日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame 模板引擎-模板配置

視圖組件是?GOFrame?框架核心的組件之一,當然也支持非常方便的配置管理功能。

站在用戶的角度思考問題,與客戶深入溝通,找到萬源網(wǎng)站設(shè)計與萬源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋萬源地區(qū)。

配置對象

配置對象定義: https://pkg.go.dev/github.com/gogf/gf/v2/os/gview#Config

配置文件

視圖組件支持配置文件,當使用?g.View?(單例名稱)獲取?View?單例對象時,將會自動通過默認的配置管理對象獲取對應(yīng)的?View?配置。默認情況下會讀取?viewer.單例名稱?配置項,當該配置項不存在時,將會讀取?viewer?配置項。

完整配置文件配置項及說明如下,其中配置項名稱不區(qū)分大小寫:

[viewer]
    Paths       = ["/var/www/template"] # 模板文件搜索目錄路徑,建議使用絕對路徑。默認為當前程序工作路徑
    DefaultFile = "index.html"          # 默認解析的模板引擎文件。默認為"index.html"
    Delimiters  =  ["${", "}"]          # 模板引擎變量分隔符號。默認為 ["{{", "}}"]
    AutoEncode  = false                 # 是否默認對變量內(nèi)容進行XSS編碼。默認為false
    [viewer.Data]                       # 自定義的全局Key-Value鍵值對,將在模板解析中可被直接使用到
        Key1 = "Value1"
        Key2 = "Value2"

示例1,默認配置項

[viewer]
    paths       = ["template", "/var/www/template"]
    defaultFile = "index.html"
    delimiters  =  ["${", "}"]
    [viewer.data]
        name    = "gf"
        version = "1.10.0"

隨后可以使用?g.View()?獲取默認的單例對象時自動獲取并設(shè)置該配置。

示例2,多個配置項

多個?View?對象的配置示例:

[viewer]
    paths       = ["template", "/var/www/template"]
    defaultFile = "index.html"
    delimiters  =  ["${", "}"]
    [viewer.data]
        name    = "gf"
        version = "1.10.0"
    [viewer.view1]
        defaultFile = "layout.html"
        delimiters  = ["${", "}"]
    [viewer.view2]
        defaultFile = "main.html"
        delimiters  = ["#{", "}"]

我們可以通過單例對象名稱獲取對應(yīng)配置的?View?單例對象:

// 對應(yīng) viewer.view1 配置項
v1 := g.View("view1")
// 對應(yīng) viewer.view2 配置項
v2 := g.View("view2")
// 對應(yīng)默認配置項 viewer
v3 := g.View("none")
// 對應(yīng)默認配置項 viewer
v4 := g.View()

配置方法

方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/os/gview

簡要說明: 

  1. 可以通過?SetConfig?及?SetConfigWithMap?來設(shè)置。
  2. 也可以使用?View?對象的?Set*?方法進行特定配置的設(shè)置。
  3. 主要注意的是,配置項在?View?對象執(zhí)行視圖解析之前設(shè)置,避免并發(fā)安全問題。

SetConfigWithMap方法

我們可以使用?SetConfigWithMap?方法通過?Key-Value?鍵值對來設(shè)置/修改?View?的特定配置,其余的配置使用默認配置即可。其中?Key?的名稱即是?Config?這個?struct?中的屬性名稱,并且不區(qū)分大小寫,單詞間也支持使用?-?/?_?/空格符號連接。

簡單示例:

package main

import (
	"context"
	"fmt"
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gview"
)

func main() {
	view := gview.New()
	view.SetConfigWithMap(g.Map{
		"Paths":       []string{"template"},
		"DefaultFile": "index.html",
		"Delimiters":  []string{"${", "}"},
		"Data": g.Map{
			"name":    "gf",
			"version": "1.10.0",
		},
	})
	result, err := view.ParseContent(context.TODO(), "hello ${.name}, version: ${.version}")
	if err != nil {
		panic(err)
	}
	fmt.Println(result)
}

其中?DefaultFile?表示默認解析的模板文件,鍵名也可以使用?defaultFile?, ?default-File?, ?default_file?, ?default file?,其他配置屬性以此類推。

注意事項

經(jīng)常有小伙伴問,為什么我的模板解析沒有生效?為什么頁面上直接將我寫的標簽原模原樣顯示出來了?

這個時候請檢查你的配置文件中是否有設(shè)置模板標簽,常見的是?delimiters?設(shè)置為了?["${", "}"]?,但是模板中使用的是?["{{", "}}"]?。


當前標題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame 模板引擎-模板配置
標題URL:http://m.5511xx.com/article/djhpohh.html