1.0 应用模块目录结构
-
项目名称统一
统一的前缀
dt_
统一为英语字母小写
不用驼峰表示法,如果有多个单词,建议以"_"分隔,比如dictionary_management
这两个单词之间为_
-
建议上面每个目录都写上,如果没有内容,空目录表示
-
各个目录含义
api 提供外部调用接口
controller 控制器
data 数据
demo 必须要有demo,用户需要知道怎么操作
doc 放入相关文档,如doc等,用于介绍项目或其它
edi 数据交换
i18n 语言目录
models 模型定义
report 报表相关
security 权限相关
static 静态文件等
tests 存放python或yml测试用例
views 视图模板
wizard 存放临时的model和视图
2.0 __manifest__.py
标准
# -*- coding: utf-8 -*-
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
# DTCloud v2.0
# QQ: 35350428
# 邮件: 35350428@qq.com
# 手机: 13584935775
# 作者: 'zyf_Amos'
# 公司网址: http://www.dtcloud360.com
# Copyright 中亿丰数字科技有限公司 2012-2022 Amos
# 日期: 2022/5/29
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
{
'name': "百度地图", # 百度地图
'summary': """百度地图视图""",
'category': '地图',
'author': "zyfd_Amos", # 写上作者自己的名字,如zyfd_Amos 或zyfd_XiaoyueZhang,注意名字标准
'website': "http://www.dtcloud360.com",
'depends': ['web'],
'version': '1.0', # 版本号注意, 两位,初始版本为1.0
'installable': True,
'application': True,
'auto_install': False,
'license': 'LGPL-3',
'price': '10', # Odoo Apps Store上显示的时候以美元显示
'currency': 'USD', # 全部以美元为单位
'data': [
'security/data.xml',
'views/views.xml',
'views/templates.xml',
],
'images': [
'static/description/static/images/map.png',
'static/description/banner.png',
],
'assets': {
'web.assets_backend': [
'dt_map/static/src/js/bmap_model.js',
'dt_map/static/src/js/bmap_controller.js',
'dt_map/static/src/js/bmap_view.js',
'dt_map/static/src/js/bmap_render.js',
'dt_map/static/src/js/geolocation.js',
'dt_map/static/src/css/bmap.css',
'dt_map/static/src/css/bmap_view.scss',
],
'web.assets_qweb': [
'dt_map/static/src/xml/bmap.xml',
'dt_map/static/src/xml/geolocation.xml',
],
},
'description': """""", # 建议为空
}
- 分类
中台应用:基础,短信,邮件,地图
解决方案:XX智慧工地解决方案,XX公司ERP解决方案等
企业应用:销售,采购,仓库,生产,会计,人事,项目等
工地应用:IOT设备(门禁,视频,门磁,升降机等),人员管理等
楼宇应用:IOT设备(空调,门禁),客房系统,停车系统等
城市应用:智慧社区,智慧园区,智慧城市等
BIMCIM应用
3.0 模块根目录README.md
说明文档名称改为README.rst
如下图所示,保留README.rst文件,里面用markdown格式写相应说明
4.0 Banner图片
后期采用的模板如下:
- 1.2 Banner图片存放位置,及其必须要在manifest文件中声明
位置: dt_map/static/description/banner.png
声明:在__manifest__.py
文件中声明出来
5.0 icon文件
展示效果:
目录如下图,icon图片不需要在__manifest__
中声明,但目录及其名字必须符合下面的规则。最好是100 * 100
6.0 介绍说明模板文件
- 创建文件
index.html
, 目录必须在/your module/static/description
下,index.html
用到的图片放在下图的asset目录下面。asset里面的图片不需要在__manifest__
中声明。
模板文件不建议原生html,因为CSS样式权重问题会出现各种显示问题。下面有一套基于odoo的基本语法:
- 首先套入
html
,主要是对汉字utf8的处理,后面的内容全部写在body里。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
中间套入下面介绍的模板文件
</body>
</html>
<section class="oe_container">
<div class="oe_row oe_spaced">
<div class="oe_span12">
<h2 class="oe_slogan" style="color:#875A7B;">标题/名称</h2>
<h3 class="oe_slogan">描述内容</h3>
</div>
</div>
</section>
<section class="oe_container">
<div class="oe_row oe_spaced">
<div class="oe_span12">
<div class="alert alert-info oe_mt32" style="padding:0.3em 0.6em; font-size: 150%;">
<i class="fa fa-hand-o-right"></i><b> 列表: </b>
<ul class="list-unstyled">
<li>
<i class="fa fa-check-square-o text-primary"></i>
列表元素1
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
列表元素2
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
列表元素3
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
列表元素4
</li>
</ul>
</div>
</div>
</div>
</section>
<section class="oe_container">
<div class="oe_row oe_spaced">
<div class="oe_span12">
<div class="alert alert-success oe_mt32" style="padding:0.3em 0.6em; font-size: 150%;">
文本描述(绿色背景)
</div>
</div>
</div>
</section>
<section class="oe_container">
<div class="oe_row oe_spaced">
<div class="oe_span12">
<div class="alert alert-warning oe_mt32" style="padding:0.3em 0.6em; font-size: 150%;">
文本描述(黄色背景)
</div>
</div>
</div>
</section>
<section class="oe_container">
<div class="oe_row oe_spaced">
<div class="oe_span12">
<div class="alert alert-danger oe_mt32" style="padding:0.3em 0.6em; font-size: 150%;">
文本描述(红色背景)
</div>
</div>
</div>
</section>
<h4 class="oe_slogan"><b>分段名称</b></h4>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced">
<div class="oe_span6">
<p class="oe_mt32">
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
</p>
</div>
<div class="oe_span6">
<div class="oe_row_img oe_centered" align="center">
<img class="oe_demo oe_picture oe_screenshot" src="banner.png"/>
</div>
</div>
</div>
</section>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced">
<div class="oe_span6">
<div class="oe_row_img oe_centered" align="center">
<img class="oe_demo oe_picture oe_screenshot" src="banner.png"/>
</div>
</div>
<div class="oe_span6">
<p class="oe_mt32">
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
</p>
</div>
</div>
</section
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced">
<div class="oe_span12 text-center">
<p class="oe_mt32">
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
中亿丰数字科技有限公司中亿丰数字科技有限公司
</p>
</div>
<div class="oe_row_img oe_centered">
<img class="oe_demo oe_picture oe_screenshot" src="banner.png"/>
</div>
</div>
</section>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced">
<div class="oe_span12 text-center">
<p class="oe_mt32">
<font style="font-size: 120%;">中亿丰数字科技有限公司 中亿丰数字科技有限公司</font>
</p>
</div>
<div class="oe_screenshot" align="center">
<img style="max-width: 80%" src="banner.png"/>
</div>
</div>
</section>
<section class="oe_container">
<!--Title-->
中亿丰数字科技有限公司
</section>
<section class="oe_container">
<!--Key features-->
中亿丰数字科技有限公司
</section>
<section class="oe_container">
中亿丰数字科技有限公司
</section>
<section class="oe_container oe_dark">
中亿丰数字科技有限公司
</section>
<section class="oe_container">
中亿丰数字科技有限公司
</section>
<section class="oe_container oe_dark">
中亿丰数字科技有限公司
</section>
<section class="oe_container">
中亿丰数字科技有限公司
</section>
<section class="oe_container">
<!--Free support section-->
中亿丰数字科技有限公司
</section>
<section class="oe_container">
<!--Contact us block-->
中亿丰数字科技有限公司
</section>
通过以上语法排列组合即可。
也可参考文档: https://odoo-development-cn.readthedocs.io/zh_CN/latest/description/index.html.html
更新记录
若文档有错误,或后面根据业务需要更新上述文档,会在更新记录中同步一份,以便于及时了解。一般情况下,不会随意更新文档格式等相关内容。
- 2022年5月31日 第一次文档更新