查看方式
站点内容的查看方式
每个文件夹、表单库、文件、表单有多种查看方式。
目录
1 统一查看入口 zopen.views:index
可以统一通过 zopen.views:index 来访问内容的默认查看方式:
http://path/to/context/@zopen.views:index
如果通过浏览器访问,通常会在主模板内容区展示
如果是通过事件载入显示,通常会遮罩显示:
ui.link('xxx').on('click', context, request, 'zopen.views:index')
也可以强制直接在主模板内容区展示:
ui.link('xxx').on('click', context, request, 'zopen.views:index', inline_=True)
切换视图,或文件夹导航,都需要采用 inline 方式打开。
2 编写查看方式
2.1 查看方式命名约定
通过命名约定,来标志某个脚本是内容的查看方式,会出现在查看方式设置的可选新增中:
- 文件夹的查看方式: view_folder_XXX
- 表单库的查看方式: view_data_XXX
- 应用容器的查看方式:view_app_XXX
- 文件的查看方式: view_file_XXX
- 表单页的查看方式: view_dataitem_xxx
2.2 查看方式的使用场景
通过浏览器地址栏,需要使用站点模板
载入显示:需要根据是否带 inline_ 参数,来决定遮罩打开,或在主模板区域显示
比如搜索结果、表单内容选择字段
直接在内嵌切换视图,或者导航查看( inline_=True )
如果inline方式查看,如果需要设置浏览历史:
view.history.push_state(request, url=url)
3 设置默认查看方式
在站点点击某个内容,会采用的默认查看方式打开。
查看方式就是一个脚本,存放在容器的设置属性中。
容器的默认查看方式,存放在 default_view 中:
default_view = container.settings['default_view']
文件的默认查看方式,存放在 file_default_view 中:
file_default_view = container.settings.get('file_default_view', inherit=True, default='zopen.docs:view_file_default')
表单的默认查看方式,存放在 dataitem_default_view 中:
dataitem_default_view = container.settings.get('dataitem_default_view', inherit=True, default='zopen.datacontainer:view_dataitem_default')
4 容器的可选查看方式
除了默认查看方式,容器也可以选择使用其他查看方式打开。
可选查看方式,也保存在容器的 settings 属性中:
container_views = container.settings['all_views'] file_views = container.settings['file_views'] dataitem_views = container.settings['dataitem_views']