开发文档


页是与开发者文档相关的文章索引。有关使用者文档,请参阅 用户手册


组织和开发工具

本章包含在开始任何Dolibarr开发行动之前需要阅读的一般信息。

  1. 项目组织
  2. 在开始开发之前要了解的信息
  3. 环境和开发工具
  4. 外部库和依赖项
  5. 获取、更新版本的源代码

编码规则和最佳实践

  1. 前提条件
  2. 开发语言和编码规范(PHP, SQL, HTML)
  3. 数据库表清单
  4. 核心文件和类树结构请参阅: doxygen生成的文档

模块清单

特定于Dolibarr标准功能模块的技术文档在每个模块的开发文档页上定义。请选择要访问的页面:

为 GUI 开发新的模块/扩展

本章介绍如何开发影响 Dolibarr 用户界面的新模块。可以是屏幕、外观(主题)、代码(CSS样式表)或数据。

脚本开发不在此范围内,将在下一章中进行描述。

要开发自己的Dolibarr扩展模块,请前往教程:模块开发

开发命令行或批处理脚本

本章描述了开发自己的批处理脚本以在Dolibarr中执行任务处理(读、写等)的过程。

对图形用户界面(GUI)进行变更不属于此范围。请参阅上一章。

要开发脚本,如 cron 处理脚本或从其他系统导入数据的脚本,请参阅:脚本开发

Dolibarr的技术组件

文件树

当前版本的文件层次结构请参阅:源代码的 doxygen generated documentation (生成文档的样式为“javadoc”)。

创建新模块时用于添加文件的路径在新模块开发文档中描述(请参阅 模块开发)。

配置文件

  • /main.inc.php 定义Dolibarr GUI 环境(脚本不需要引用)
  • /master.inc.php 定义Dolibarr所有进程的环境,不管是页面还是脚本。文件记取conf文件,初始化 $lang, $db和空的$user
  • /filefunc.inc.php 引用 conf.php 文件和其他通用库文件,比如: functions.lib.php
  • /core/lib/function.inc.php 函数库,包括了引用数据库的函数。
  • /core/class/html.formother.class.php 其他HTML部件的预先配置文件

配置Dolibarr系统

Dolibarr中有3个级别的配置。

  • Dolibarr的技术配置(应用程序身份验证模式、数据库验证信息和文件存储位置)仅在 conf/conf.php 配置文件中定义。相关的更多信息,请参阅 Configuration file
  • 功能配置存储在 表llx_const 中。相关的更多信息,请参阅 Constants
  • 特定于用户的配置存储在 表llx_user_param 中。相关的更多信息,请参阅 Constants

业务对象

请参阅 业务对象

菜单系统

请参阅 菜单.

选项卡系统

请参阅 选项卡.

主题系统

请参阅 主题.

消息框/widget小组件系统

请参阅 消息框/widget小组件.

身份认证系统

请参阅 认证.

权限系统

请参阅 用户权限.

翻译系统

请参阅 翻译.

错误处理

请参阅 错误处理

画布系统(屏幕重载)

画布是一种开发功能,用于替换创建、更新或查看/展示表单(产品、合作方、联系人等)的屏幕显示。例如,您可以将合作方输入表单替换为您自己的输入表单、编辑表单或查看/展示表单。

请参阅 画布.

触发器系统

触发器是一种开发功能,用于在Dolibarr“业务操作”(创建发票、删除用户、更新合作方等)执行期间运行自定义代码,仅适用于业务事件。要在其他场景中自定义代码,请参阅 钩子系统

请参阅 触发器系统

钩子系统

请参阅 钩子系统

变量替换系统

请参阅 变量替换系统

Web服务

可以配置 Dolibarr 为外部系统提供可访问的服务。

请参阅 提供REST API的Web服务模块(开发者)

注意:提供SOAP API的Web服务模块(开发者)已弃用。

文件/文档的存储管理

请参阅 生成的文件

编号模块

对于在应用程序中创建的每个实体,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)
{
 ...
}

批量导入/导出

  1. 批量导入
  2. 导出模块

与其他应用程序的接口和链接

  1. Dolibarr到外部系统的接口 或 Dolibarr到Dolibarr的接口(Dolibarr触发器或钩子)
  2. 外部系统到Dolibarr的接口
  3. Web Services

将 Dolibarr 集成到自动化平台

FAQ

所有常见问题(FAQs)解答均可通过 FAQ 索引页面 FAQ EN 获取。