开发文档
<keywords content="developer, development, documentation, guide, doc, tutorial, usage, help, api, coding, standard, rules" /> 此页是与开发文档相关的文档的主要索引。对于用户文档:用户手册.
开发组织和工具
本章包含在开始Dolibarr的任何开发之前必须阅读的全局信息。
- Organization of project
- To be known before starting to develop
- Environment and development tools
- Dependencies and external libraries
- Get or update sources of a development version
代码规则和最佳实践
- Prerequisites
- Language and development rules (PHP, SQL, HTML)
- List of tables
- 文件结构和可用类: doxygen generated documentation
模块清单
标准的业务模块的技术文档可在每个模块的开发文档页中找到。选择你感兴趣的合适页面:
开发一个新的GUI模块
本节描述了如何开发一个新的模块来改变Dolibarr用户界面。这可以是屏幕、主题、数据、它自己的CSS样式表、源代码或所有这一切。
脚本开发不包括在本节中(这将在下一章中描述)。
要开发自己的模块,请检查 模块开发 。
开发批处理或命令行脚本
本章描述了如何开发命令行脚本来执行Dolibarr(Read,Update DATA…)中的任务。
在本章中不包括对图形用户界面(GUI)的修改。请参阅上一章。
要开发一个脚本,像一个CRON脚本或命令行导入工具从外部源导入数据,您可以查看 脚本开发 。
Dolibarr的技术部件
树形结构
当前版本文件的路径层次结构可从 doxygen generated documentation (类似于生成的“JavaDoc”文档).
新文档中添加新文件的路径定义在开发新模块的文档中。 (见 模块开发).
设置存储
Dolibarr设置参数有3个位置。
- Dolibarr技术设置参数(身份验证模式、数据库登录和文件存储区域)在设置文件中定义:“conf/conf.php”。见 Configuration file。
- 全局功能参数存储在 Table llx_const。见 Constants 。
- 用户功能参数存储在 Table llx_user_param. 见 Constants 。
业务对象
见 业务对象
菜单
见 菜单.
选项卡
见 选项卡.
主题
见 Skins.
信息框
见 Box system.
身份认证
权限
见 Permissions.
翻译
错误信息
画布
画布是替换屏幕显示的开发功能。
以新模板替换老模板来'创建'、'编辑'或'显示'记录(产品,合伙人,联系人,…)。
例如,您可以替换掉系统自带的“新建合伙人”的窗体,或者“修改合伙人”的窗体,或者替换掉"查看合伙人"的模板。
见 画布.
触发器
触发器是在Dolibarr“业务事件”(创建发票、删除用户、更新第三方等)中执行个性化代码的开发功能,仅用于业务事件。其他情景的个性化代码,请查看“钩子”章节。
见 this page.
钩子
见 Hooks system.
变量代换
见 Variable substitution system.
Web服务
Dolibarr可以设置提供一些服务。
文件存储
编号模块
对于在系统中创建的每个实体,Dolibarr自动分配引用。为了适应任何使用的参考,Dolibarr使用模块来定义引用生成规则。系统提供了几个标准模块。有些是通用的,用于定义数字掩码(字符有几位数,有或没有前缀,是否包括日期,等等),它们可以满足大多数需要。然而,仍然存在所提供的模块不满足需要的情况。在这种情况下,有必要开发自定义编号模块。
模板
关于模板生成文档的更多文档见 创建PDF模板 或 Create an ODT document template.
附加字段
见 附加字段.
其他内部功能
您的代码可以使用许多内部库。
您可以在functions.lib.php、functions2.lib.php或admin.lib.php中找到大量的函数。也可以使用在htdocs/core/lib/*.lib文件中找到的任何函数。
根据Dolibarr版本号指定需求
例如,为了创建一个Dolibarr版本>3.5的环境,可以使用admin.lib.php中发现的versioncompare和versiondolibarrarray:
if (versioncompare(versiondolibarrarray(), array(3,5,0)) > 0)
{
...
}
批量导出/导入
与其他应用程序的接口和链接
- Interfaces Dolibarr toward foreign systems or toward Dolibarr (Dolibarr Triggers)
- Interfaces from foreign systems toward Dolibarr
- Web Services
FAQ
All FAQs are available through the FAQ index page FAQ EN
--Roger-QQ12464313 09:00, 19 July 2018 (UTC)