站点模板
站点页面的可定制元素
1 网页框架模板 template_web
站点内置 网页模板 和 手机端模板 两种,其中网页模板适合大屏展示,可以在应用构建器中个性化定制。
在站点设置中可选择站点使用的模板,最终存放在 root.settings['template_web'] 中。
注意,我们不推荐定制模板,原因:
- 由于站点已经提供高度的网页可定制性,默认的网页模板应该已经可以满足需求
- 定制模板可能未来会导致一些不兼容
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'] 中