大道至简,新一代企业应用无栈开发

平台之上,一种语言,可视化、脚本化、全端一体化开发

站点模板

站点页面的可定制元素

docutils document without title

1   网页框架模板 template_web

站点内置 网页模板 和 手机端模板 两种,其中网页模板适合大屏展示,可以在应用构建器中个性化定制。

在站点设置中可选择站点使用的模板,最终存放在 root.settings['template_web'] 中。

注意,我们不推荐定制模板,原因:

  1. 由于站点已经提供高度的网页可定制性,默认的网页模板应该已经可以满足需求
  2. 定制模板可能未来会导致一些不兼容

2   内容填充脚本 view_init_scripts

每个网页模板,存在如下空槽区域,可通过脚本来填充:

{
  'head': '', 头部区域,用于自定义皮肤,输出css/js信息

  'top': ‘’, # 模板上方banner区,可在站点设置中开启定制
  'bottom': '', # 模板底部区,可在站点设置中开启定制

  'search_box': '', # 右上的快捷搜索区,如果不设置,显示默认搜索框
  'site_navbar': '', # 主导航区,如果不设置,显示默认导航
  'site_menu': '', # 右上站点菜单区,如果不设置,显示默认菜单
  'site_title': '', # 站点左上标题,如果不设置,显示站点名
  'app_navbar': '', # 二级导航区,如果不设置,显示默认二级导航
}

可在 root.settings['view_init_scripts'] 注册模板初始化脚本,这些脚本可以返回一个 dict 包含上述需要填充的内容。

3   皮肤样式 skin

网页模板有个 head 空槽,这里可以填充 css/js ,实现对主模板更换皮肤样式。

站点管理员可以在 站点设置 中设置站点的默认皮肤,每个人也可以选择自己喜欢的皮肤。

站点内置一个 zopen.skin:init_skin 的模板内容填充脚本,会填充当前皮肤的css/js。

可以定制一个以 skin_ 开头的的 模板内容填充脚本,返回如下内容:

return {
    # 内嵌的style
    'style':'.aaa{back-ground: balck}',

    # 引入的css文件
    'css':['zopen.skin:green.css',
             '....'],

    # 引入的js文件
    'js':['zopen.skin:green.js'],
    }

这个脚本会记录到 root.settings['skin']