概述

gfast使用goframe框架作为底层,使用前请先查阅goframe的相关模板文档

goframe模板文档链接

使用gofast cms模板示例

// index 控制器
func (c *cmsIndex) Index(r *ghttp.Request) {
    ctx := r.GetCtx()
    // 创建cms模板视图对象 *gview.view
    v,err := service.CmsTemplate.GetCmsView(ctx)
    if err != nil {
        r.Response.WriteExit(err.Error())
    }
    // 注册全局模板变量
    v.Assign("seoTitle",service.CmsConfig.GetCmsConfigValueByName("home_title"))
    v.Assign("seoKeywords",service.CmsConfig.GetCmsConfigValueByName("home_keywords"))
    v.Assign("seoDescription",service.CmsConfig.GetCmsConfigValueByName("home_desc"))
    v.Assign("homeUrl",service.CmsConfig.GetCmsConfigValueByName("home_url"))
    v.Assign("siteName",service.CmsConfig.GetCmsConfigValueByName("site_name"))
    // 渲染布局文件
    err = library.WriteTpl(r, "common/layout.html",v,gview.Params{
        "mainTpl": "index.html", // 注意,此变量只在 layout.html模板中有效,如果嵌套模板要使用需要向下传递 ${include .mainTpl .}
    })
    if err != nil {
        r.Response.WriteExit(err.Error())
    }
}

布局文件common/layout.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
    <meta content="webkit" name="renderer">
    <meta content="initial-scale=1.0,maximum-scale=5,width=device-width,viewport-fit=cover" name="viewport">
    <title>${.seoTitle}</title>
    <meta content="${.seoKeywords}" name="keywords">
    <meta content="${.seoDescription}" name="description">
</head>
<body>
<!--引入公共头部-->
${include "common/header.html"}
<!--引入内容模板 index.html -->
${include .mainTpl}
<!--引入公共底部-->
${include "common/footer.html"}
</body>
</html>

注意事项:
使用布局文件时,

作者:袁学飞  创建时间:2023-03-08 11:32
最后编辑:袁学飞  更新时间:2024-04-29 14:44