Difference between revisions of "开发文档"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
 
(21 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
本章包含在开始任何Dolibarr开发行动之前需要阅读的一般信息。
 
本章包含在开始任何Dolibarr开发行动之前需要阅读的一般信息。
  
#[[Dolibarr Project|项目组织]]
+
#[[Dolibarr项目|项目组织]]
#[[To known before to start|在开始开发之前要了解的信息]]
+
#[[开发须知|在开始开发之前要了解的信息]]
#[[Environment and development tools|环境和开发工具]]
+
#[[开发环境与工具|环境和开发工具]]
#[[Dependencies and external libraries|外部库和依赖项]]
+
#[[依赖项与外部库|外部库和依赖项]]
#[[FAQ_Get,update_project_sources|获取、更新版本的源代码]]
+
#[[常见问题-获取与更新项目的GIT源代码|获取、更新版本的源代码]]
  
 
=编码规则和最佳实践=
 
=编码规则和最佳实践=
  
#[[安装前提条件|先决条件]]
+
#[[安装前提条件|前提条件]]
#[[语言和开发规则|开发语言和标准(PHP, SQL, HTML)]]
+
#[[语言和开发规则|开发语言和编码规范(PHP, SQL, HTML)]]
 
#[[:Category:Table SQL|数据库表清单]]
 
#[[:Category:Table SQL|数据库表清单]]
 
#核心文件和类树结构请参阅: [http://doxygen.dolibarr.org/ doxygen生成的文档] 。
 
#核心文件和类树结构请参阅: [http://doxygen.dolibarr.org/ doxygen生成的文档] 。
Line 64: Line 64:
 
*/core/class/html.formother.class.php 其他HTML部件的预先配置文件
 
*/core/class/html.formother.class.php 其他HTML部件的预先配置文件
  
===配置Dolibarr系统===
+
==配置Dolibarr系统==
 
Dolibarr中有3个级别的配置。
 
Dolibarr中有3个级别的配置。
  
Line 72: Line 72:
  
 
==业务对象==
 
==业务对象==
[[业务对象]]
+
请参阅 [[业务对象]]
  
==菜单==
+
==菜单系统==
[[菜单]].
+
请参阅 [[菜单]].
  
==选项卡==
+
==选项卡系统==
[[选项卡]].
+
请参阅 [[选项卡]].
  
==主题==
+
==主题系统==
[[主题]].
+
请参阅 [[主题]].
  
==信息框==
+
==消息框/widget小组件系统==
[[信息框]].
+
请参阅 [[信息框|消息框/widget小组件]].
  
==身份认证==
+
==身份认证系统==
[[认证]].
+
请参阅 [[认证]].
  
==权限==
+
==权限系统==
[[用户权限]].
+
请参阅 [[用户权限]].
  
==翻译==
+
==翻译系统==
[[翻译]].
+
请参阅 [[翻译]].
  
==错误信息==
+
==错误处理==
[[Error reporting|Error reporting]].
+
请参阅 [[错误处理]]
  
==画布==
+
==画布系统(屏幕重载)==
'''画布'''是替换屏幕显示的开发功能。
+
'''画布'''是一种开发功能,用于替换创建、更新或查看/展示表单(产品、合作方、联系人等)的屏幕显示。例如,您可以将合作方输入表单替换为您自己的输入表单、编辑表单或查看/展示表单。
  
以新模板替换老模板来'创建'、'编辑'或'显示'记录(产品,合伙人,联系人,…)。
+
请参阅 [[画布]].
  
例如,您可以替换掉系统自带的“新建合伙人”的窗体,或者“修改合伙人”的窗体,或者替换掉"查看合伙人"的模板。
+
==触发器系统==
   
+
触发器是一种开发功能,用于在Dolibarr“业务操作”(创建发票、删除用户、更新合作方等)执行期间运行自定义代码,仅适用于业务事件。要在其他场景中自定义代码,请参阅 [[钩子系统]]
[[画布]].
 
  
==触发器==
+
请参阅 [[触发系统|触发器系统]] 。
触发器是在Dolibarr“业务事件”(创建发票、删除用户、更新第三方等)中执行个性化代码的开发功能,仅用于业务事件。其他情景的个性化代码,请查看“钩子”章节。
 
  
[[Interfaces Dolibarr toward foreign systems|this page]].
+
==钩子系统==
 +
请参阅 [[钩子系统]]
  
==钩子==
+
==变量替换系统==
[[钩子系统]].
+
请参阅 [[变量替换系统]]
  
==变量代换==
+
==Web服务==
见 [[Variable substitution system]].
+
可以配置 Dolibarr 为外部系统提供可访问的服务。
  
==Web服务==
+
请参阅 [[提供REST API的Web服务模块(开发者)]]
Dolibarr可以设置提供一些服务。
 
  
[[Module Web Services]].
+
注意:[[Module Web Services API SOAP (developer)|提供SOAP API的Web服务模块(开发者)]]已弃用。
  
==文件存储==
+
==文件/文档的存储管理==
[[Generated documents]].
+
请参阅 [[生成的文件]]
  
 
==编号模块==
 
==编号模块==
对于在系统中创建的每个实体,Dolibarr自动分配引用。
+
对于在应用程序中创建的每个实体,Dolibarr 都会为其分配一个引用。
  
为了适应任何使用的参考,Dolibarr使用模块来定义引用生成规则。
+
为了使此引用适应任何用途,Dolibarr 使用模块来定义生成此引用的规则。
  
系统提供了几个标准模块。有些是通用的,用于定义数字掩码(字符有几位数,有或没有前缀,是否包括日期,等等),它们可以满足大多数需要。
+
系统提供了多个标准模块,其中有些是通用的,用于定义编号掩码(字符的个数,带或不带前缀,是否包括日期等),从而满足大多数需求。
  
然而,仍然存在所提供的模块不满足需要的情况。在这种情况下,有必要开发自定义编号模块。
+
然而,在某些情况下,提供的标准模块不能满足需求。在这种情况下,有必要开发自己的编号模块。
  
[[自动编号模块|自动编号模块]].
+
请参阅 [[自动编号模块|自动编号模块]].
  
==模板==
+
==文档模板和文档生成==
  
关于模板生成文档的更多文档见 [[创建PDF模板]] 或 [[Create an ODT document template]].
+
有关从模板生成文档的更多信息,请参阅 [[创建PDF模板]] 或 [[Create an ODT document template]].
  
 
==附加字段==
 
==附加字段==
[[附加字段]].
+
请参阅 [[附加字段]].
 +
 
 +
==在线支付系统==
 +
请参阅 [[在线支付系统]] 。
  
==其他内部功能==
+
==其他内部函数==
 
您的代码可以使用许多内部库。
 
您的代码可以使用许多内部库。
  
您可以在functions.lib.php、functions2.lib.php或admin.lib.php中找到大量的函数。也可以使用在htdocs/core/lib/*.lib文件中找到的任何函数。
+
您可以在 functions.lib.php、functions2.lib.php 或 admin.lib.php 中找到大量的通用函数。
  
 +
也可以使用在 htdocs/core/lib/*.lib 文件中找到的任何函数。
  
'''根据Dolibarr版本号指定需求'''
+
'''基于 Dolibarr 版本的判断条件'''
  
例如,为了创建一个Dolibarr版本>3.5的环境,可以使用admin.lib.php中发现的versioncompare和versiondolibarrarray:
+
例如,要判断当前Dolibarr版本是否大于3.5,可以使用 admin.lib.php中的 versioncompare和 versiondolibarrarray:
  
 
<source lang="php">
 
<source lang="php">
Line 161: Line 163:
 
</source>
 
</source>
  
=批量导出/导入=
+
=批量导入/导出=
  
 
#[[批量导入]]
 
#[[批量导入]]
#[[Module Exports En|Mass exports]]
+
#[[导出模块]]
  
 
=与其他应用程序的接口和链接=
 
=与其他应用程序的接口和链接=
  
#[[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
+
#[[Dolibarr到外部系统的接口]] 或 Dolibarr到Dolibarr的接口(Dolibarr触发器或钩子)
#[[Interfaces from foreign systems toward Dolibarr]]
+
#[[外部系统到Dolibarr的接口]]
 
#[[Module Web Services|Web Services]]
 
#[[Module Web Services|Web Services]]
 +
 +
==将 Dolibarr 集成到自动化平台==
 +
 +
*[[Integration of Dolibarr to the Zapier automation platform]]
 +
*[[Integration of Dolibarr to the n8n automation platform]]
 +
*[[Integration of Dolibarr to the Make automation platform]]
  
 
=FAQ=
 
=FAQ=
All FAQs are available through the FAQ index page [[:Category:FAQ EN|FAQ EN]]
+
所有常见问题(FAQs)解答均可通过 FAQ 索引页面 [[:Category:FAQ EN|FAQ EN]] 获取。
 
 
--[[User:R.ivnun|Roger-QQ12464313]] 09:00, 19 July 2018 (UTC)
 

Latest revision as of 08:37, 12 October 2023


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


组织和开发工具

本章包含在开始任何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 获取。