更新website后端
This commit is contained in:
@@ -213,6 +213,19 @@ func renderSelfClose(content string, ctx *RenderCtx) (string, error) {
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// SiteGlobals 返回站点级全局标签值(key 即标签名),与模板内 {yz:xxx} 完全同源。
|
||||
// 供前台公开接口(GET /site/setting)输出给 SPA 官网使用,保证 SPA 与 themes 直出模板展示一致。
|
||||
func SiteGlobals(tid uint64) map[string]string {
|
||||
if globalProvider == nil {
|
||||
return map[string]string{}
|
||||
}
|
||||
vals, err := globalProvider(tid, &RenderCtx{Tid: tid})
|
||||
if err != nil || vals == nil {
|
||||
return map[string]string{}
|
||||
}
|
||||
return vals
|
||||
}
|
||||
|
||||
// renderGlobals 替换全局标签;未提供的标签置空
|
||||
func renderGlobals(content string, ctx *RenderCtx) string {
|
||||
var vals map[string]string
|
||||
|
||||
@@ -37,26 +37,30 @@ func TagDocs() []TagMeta {
|
||||
Name: "站点基本信息",
|
||||
Category: "global",
|
||||
Syntax: "{yz:sitename}、{yz:logo}、{yz:ico} …直接写在模板任意位置",
|
||||
Desc: "取自当前租户的站点设置(backend 端 - 站点设置 - 基本信息)。直接替换为文本或地址,无需闭合;未配置的项输出空字符串。点击行末复制按钮可复制标签。",
|
||||
Desc: "取自当前站点的站点设置。租户站点来自「站点设置 - 基本信息」(backend 端);平台官网(平台主域名)优先取「官网管理 - 站点设置」(platform 端),未填写时回退基本信息。直接替换为文本或地址,无需闭合;未配置的项输出空字符串。点击行末复制按钮可复制标签。",
|
||||
Params: nil,
|
||||
Fields: []string{
|
||||
"sitename 站点名称,常用于 <title> 和页头 来源:基本信息-站点名称",
|
||||
"logo 彩色 Logo 图片地址,适合浅色背景 来源:基本信息-站点LOGO",
|
||||
"logow 白色 Logo 图片地址,适合深色背景/页脚 来源:基本信息-白色LOGO",
|
||||
"sitename 站点名称,常用于 <title> 和页头 来源:站点设置-站点名称",
|
||||
"subtitle 副标题,站点名称下方的补充说明 来源:官网管理-站点设置-副标题",
|
||||
"logo 深色 Logo 图片地址,适合浅色背景 来源:站点设置-深色LOGO",
|
||||
"logow 浅色 Logo 图片地址,适合深色背景/页脚 来源:站点设置-浅色LOGO",
|
||||
"ico 站点图标地址,用于 <link rel=\"icon\"> 来源:基本信息-站点图标",
|
||||
"companyname 公司全称 来源:基本信息-公司名称",
|
||||
"companyintroduction 企业介绍(富文本HTML,直接用 div 承接) 来源:基本信息-企业介绍",
|
||||
"description 站点简介,可用于 meta description 来源:基本信息-站点描述",
|
||||
"copyright 版权信息,常用于页脚 来源:基本信息-版权信息",
|
||||
"icp ICP 备案号,常用于页脚 来源:基本信息-ICP备案",
|
||||
"copyright 版权信息,常用于页脚 来源:站点设置-版权信息",
|
||||
"icp ICP 备案号,常用于页脚 来源:站点设置-ICP备案",
|
||||
"policeicp 公安备案号/公安网备标识,常用于页脚 来源:官网管理-站点设置-公安备案",
|
||||
"privacy 隐私政策链接地址,如 /page/privacy 来源:官网管理-站点设置-隐私政策",
|
||||
"terms 使用条款链接地址,如 /page/terms 来源:官网管理-站点设置-使用条款",
|
||||
},
|
||||
Example: "<head>\n <title>{yz:sitename}</title>\n <link rel=\"icon\" href=\"{yz:ico}\">\n <meta name=\"description\" content=\"{yz:description}\">\n</head>\n<img src=\"{yz:logo}\" alt=\"{yz:sitename}\">\n<div class=\"about\">{yz:companyintroduction}</div>\n<footer>\n <p>{yz:copyright}</p>\n <p>{yz:icp}</p>\n</footer>",
|
||||
Example: "<head>\n <title>{yz:sitename}</title>\n <link rel=\"icon\" href=\"{yz:ico}\">\n <meta name=\"description\" content=\"{yz:description}\">\n</head>\n<img src=\"{yz:logo}\" alt=\"{yz:sitename}\">\n<div class=\"about\">{yz:companyintroduction}</div>\n<footer>\n <p>{yz:copyright}</p>\n <p>{yz:icp}</p>\n <p>{yz:policeicp}</p>\n <p>\n <a href=\"{yz:privacy}\">隐私政策</a>\n <a href=\"{yz:terms}\">使用条款</a>\n </p>\n</footer>",
|
||||
},
|
||||
{
|
||||
Name: "联系方式",
|
||||
Category: "global",
|
||||
Syntax: "{yz:phone}、{yz:email}、{yz:address}、{yz:worktime}",
|
||||
Desc: "取自租户的公司信息(backend 端 - 公司信息),常用于页头联系栏和页脚。直接替换为文本,无需闭合。",
|
||||
Desc: "取自公司信息。平台官网优先取「官网管理 - 站点设置 - 公司信息」,未填写时回退租户的公司信息(backend 端 - 公司信息)。直接替换为文本,无需闭合。",
|
||||
Params: nil,
|
||||
Fields: []string{
|
||||
"phone 联系电话,别名 {yz:tel}、{yz:mobile} 三者等价 来源:公司信息-联系电话",
|
||||
|
||||
@@ -68,6 +68,7 @@ func globalSiteInfo(tid uint64, ctx *RenderCtx) (map[string]string, error) {
|
||||
"companyintroduction": "",
|
||||
"phone": "", "tel": "", "mobile": "", "email": "", "address": "", "worktime": "",
|
||||
"keywords": "", "seotitle": "", "seodescription": "",
|
||||
"policeicp": "", "privacy": "", "terms": "",
|
||||
"aboutus": "/page/about", "contact": "/page/contact", "news": "/news", "team": "/page/team",
|
||||
}
|
||||
var row models.TenantSiteSetting
|
||||
@@ -115,6 +116,21 @@ func globalSiteInfo(tid uint64, ctx *RenderCtx) (map[string]string, error) {
|
||||
out["seotitle"] = vals["seoTitle"]
|
||||
out["seodescription"] = vals["seoDescription"]
|
||||
}
|
||||
|
||||
// 平台官网(tid 1)额外读取 platform 端「官网管理 - 站点设置」
|
||||
// (yz_platform_site_setting,通用键值结构:tag 即标签名)。
|
||||
// 值非空时覆盖同名全局标签,为空时保证标签存在(输出空串);租户站点不受影响。
|
||||
if tid == 1 {
|
||||
for k, v := range models.GetPlatformSiteTagMap() {
|
||||
if v == "" {
|
||||
if _, ok := out[k]; !ok {
|
||||
out[k] = ""
|
||||
}
|
||||
continue
|
||||
}
|
||||
out[k] = v
|
||||
}
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user