Difference between revisions of "开发文档"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
 
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<keywords content="developer, development, documentation, guide, doc, tutorial, usage, help, api, coding, standard, rules" />
+
<!-- BEGIN interlang links -->
此页是与开发文档相关的文档的主要索引。对于用户文档:[[用户手册|用户手册]].
+
<!-- Do NOT edit this section
 +
    Links below are automatically managed by PolyglotBot
 +
    You can edit links on the English source page : Developer_documentation -->
 +
[[en:Developer_documentation]]
 +
[[fr:Documentation_Développeur]]
 +
[[es:Documentación_Desarrolladores]]
 +
[[de:Entwickler_Dokumentation]]
 +
<!-- END interlang links -->
 +
 
 +
<seo metak="developer, development, documentation, guide, doc, tutorial, usage, help, api, coding, standard, rules" />页是与开发者文档相关的文章索引。有关使用者文档,请参阅 [[用户手册|用户手册]]
 
{{Template用户手册}}
 
{{Template用户手册}}
 
{{TemplateMainPageZh}}
 
{{TemplateMainPageZh}}
  
  
= 开发组织和工具 =
+
=组织和开发工具=
本章包含在开始Dolibarr的任何开发之前必须阅读的全局信息。
+
本章包含在开始任何Dolibarr开发行动之前需要阅读的一般信息。
# [[Dolibarr Project|Organization of project]]
+
 
# [[To known before to start|To be known before starting to develop]]
+
#[[Dolibarr项目|项目组织]]
# [[Environment and development tools]]
+
#[[开发须知|在开始开发之前要了解的信息]]
# [[Dependencies and external libraries]]
+
#[[开发环境与工具|环境和开发工具]]
# [[FAQ_Get,update_project_sources|Get or update sources of a development version]]
+
#[[依赖项与外部库|外部库和依赖项]]
 +
#[[常见问题-获取与更新项目的GIT源代码|获取、更新版本的源代码]]
 +
 
 +
=编码规则和最佳实践=
 +
 
 +
#[[安装前提条件|前提条件]]
 +
#[[语言和开发规则|开发语言和编码规范(PHP, SQL, HTML)]]
 +
#[[:Category:Table SQL|数据库表清单]]
 +
#核心文件和类树结构请参阅: [http://doxygen.dolibarr.org/ doxygen生成的文档] 。
 +
 
 +
=模块清单=
 +
特定于Dolibarr标准功能模块的技术文档在每个模块的开发文档页上定义。请选择要访问的页面:
 +
 
 +
*标准模块清单请参阅:[[:Category:List of Modules (developer)‎|List of standard modules]]
 +
*扩展模块清单请参阅:[[:Category:Complementary modules|List of complementary modules]]
 +
 
 +
=为 GUI 开发新的模块/扩展=
 +
本章介绍如何开发影响 Dolibarr 用户界面的新模块。可以是屏幕、外观(主题)、代码(CSS样式表)或数据。
 +
 
 +
脚本开发不在此范围内,将在下一章中进行描述。
 +
 
 +
要开发自己的Dolibarr扩展模块,请前往教程:[[模块开发]]
  
= 代码规则和最佳实践 =
+
=开发命令行或批处理脚本=
# [[Prerequisite|Prerequisites]]
+
本章描述了开发自己的批处理脚本以在Dolibarr中执行任务处理(读、写等)的过程。
# [[Language and development rules|Language and development rules (PHP, SQL, HTML)]]
 
# [[:Category:Table SQL|List of tables]]
 
# 文件结构和可用类: [http://doxygen.dolibarr.org/ doxygen generated documentation]
 
  
= 模块清单 =
+
对图形用户界面(GUI)进行变更不属于此范围。请参阅上一章。
标准的业务模块的技术文档可在每个模块的开发文档页中找到。选择你感兴趣的合适页面:
 
  
* [[:Category:List of Modules (developer)‎|List of standard modules]]
+
要开发脚本,如 cron 处理脚本或从其他系统导入数据的脚本,请参阅:[[脚本开发]]
* [[:Category:Complementary modules|List of complementary modules]]
 
  
= 开发一个新的GUI模块 =
+
=Dolibarr的技术组件=
本节描述了如何开发一个新的模块来改变Dolibarr用户界面。这可以是屏幕、主题、数据、它自己的CSS样式表、源代码或所有这一切。
+
==文件树==
 +
当前版本的文件层次结构请参阅:源代码的 [http://doxygen.dolibarr.org/ doxygen generated documentation] (生成文档的样式为“javadoc”)。
  
脚本开发不包括在本节中(这将在下一章中描述)。
+
创建新模块时用于添加文件的路径在新模块开发文档中描述(请参阅 [[模块开发]])。
  
要开发自己的模块,请检查 [[模块开发]] 。
+
===配置文件===
  
= 开发批处理或命令行脚本 =
+
*/main.inc.php 定义Dolibarr GUI 环境(脚本不需要引用)
本章描述了如何开发命令行脚本来执行Dolibarr(Read,Update DATA…)中的任务。
+
*/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部件的预先配置文件
  
在本章中不包括对图形用户界面(GUI)的修改。请参阅上一章。
+
==配置Dolibarr系统==
 +
Dolibarr中有3个级别的配置。
  
要开发一个脚本,像一个CRON脚本或命令行导入工具从外部源导入数据,您可以查看 [[脚本开发]] 。
+
*Dolibarr的技术配置(应用程序身份验证模式、数据库验证信息和文件存储位置)仅在 conf/conf.php 配置文件中定义。相关的更多信息,请参阅 [[Configuration file]] 。
 +
*功能配置存储在 [[Table llx_const|表llx_const]] 中。相关的更多信息,请参阅 [[Constants]] 。
 +
*特定于用户的配置存储在 [[Table llx_user_param|表llx_user_param]] 中。相关的更多信息,请参阅 [[Constants]] 。
  
= Dolibarr的技术部件  =
+
==业务对象==
== 树形结构 ==
+
请参阅 [[业务对象]]
当前版本文件的路径层次结构可从 [http://doxygen.dolibarr.org/ 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 函数库,包括了引用数据库的函数。
 
  
== 设置存储 ==
+
==主题系统==
Dolibarr设置参数有3个位置。
+
请参阅 [[主题]].
* Dolibarr技术设置参数(身份验证模式、数据库登录和文件存储区域)在设置文件中定义:“conf/conf.php”。见 [[Configuration file]]。
 
* 全局功能参数存储在 [[Table llx_const]]。见 [[Constants]] 。
 
* 用户功能参数存储在 [[Table llx_user_param]]. 见 [[Constants]] 。
 
  
== 业务对象 ==
+
==消息框/widget小组件系统==
[[业务对象]]
+
请参阅 [[信息框|消息框/widget小组件]].
  
== 菜单 ==
+
==身份认证系统==
[[菜单]].
+
请参阅 [[认证]].
  
== 选项卡 ==
+
==权限系统==
[[选项卡]].
+
请参阅 [[用户权限]].
  
== 主题 ==
+
==翻译系统==
[[Skins]].
+
请参阅 [[翻译]].
  
== 信息框 ==
+
==错误处理==
[[Box system]].
+
请参阅 [[错误处理]]
  
== 身份认证 ==
+
==画布系统(屏幕重载)==
见 [[Authentication]].
+
'''画布'''是一种开发功能,用于替换创建、更新或查看/展示表单(产品、合作方、联系人等)的屏幕显示。例如,您可以将合作方输入表单替换为您自己的输入表单、编辑表单或查看/展示表单。
  
== 权限 ==
+
请参阅 [[画布]].
[[Permissions En|Permissions]].
 
  
== 翻译 ==
+
==触发器系统==
[[Translation system]].
+
触发器是一种开发功能,用于在Dolibarr“业务操作”(创建发票、删除用户、更新合作方等)执行期间运行自定义代码,仅适用于业务事件。要在其他场景中自定义代码,请参阅  [[钩子系统]]
  
== 错误信息 ==
+
请参阅 [[触发系统|触发器系统]]
[[Error reporting|Error reporting]].
 
  
== 画布 ==
+
==钩子系统==
'''画布'''是替换屏幕显示的开发功能。
+
请参阅 [[钩子系统]] 。
  
以新模板替换老模板来'创建'、'编辑'或'显示'记录(产品,合伙人,联系人,…)。
+
==变量替换系统==
 +
请参阅 [[变量替换系统]]。
  
例如,您可以替换掉系统自带的“新建合伙人”的窗体,或者“修改合伙人”的窗体,或者替换掉"查看合伙人"的模板。
+
==Web服务==
+
可以配置 Dolibarr 为外部系统提供可访问的服务。
见 [[画布]].
 
  
== 触发器 ==
+
请参阅 [[提供REST API的Web服务模块(开发者)]]
触发器是在Dolibarr“业务事件”(创建发票、删除用户、更新第三方等)中执行个性化代码的开发功能,仅用于业务事件。其他情景的个性化代码,请查看“钩子”章节。
 
  
[[Interfaces Dolibarr toward foreign systems|this page]].
+
注意:[[Module Web Services API SOAP (developer)|提供SOAP API的Web服务模块(开发者)]]已弃用。
  
== 钩子 ==
+
==文件/文档的存储管理==
[[Hooks system]].
+
请参阅 [[生成的文件]]
  
== 变量代换 ==
+
==编号模块==
见 [[Variable substitution system]].
+
对于在应用程序中创建的每个实体,Dolibarr 都会为其分配一个引用。
  
== Web服务 ==
+
为了使此引用适应任何用途,Dolibarr 使用模块来定义生成此引用的规则。
Dolibarr可以设置提供一些服务。
 
  
见 [[Module Web Services]].
+
系统提供了多个标准模块,其中有些是通用的,用于定义编号掩码(字符的个数,带或不带前缀,是否包括日期等),从而满足大多数需求。
  
== 文件存储 ==
+
然而,在某些情况下,提供的标准模块不能满足需求。在这种情况下,有必要开发自己的编号模块。
见 [[Generated documents]].
 
  
== 编号模块 ==
+
请参阅 [[自动编号模块|自动编号模块]].
对于在系统中创建的每个实体,Dolibarr自动分配引用。为了适应任何使用的参考,Dolibarr使用模块来定义引用生成规则。系统提供了几个标准模块。有些是通用的,用于定义数字掩码(字符有几位数,有或没有前缀,是否包括日期,等等),它们可以满足大多数需要。然而,仍然存在所提供的模块不满足需要的情况。在这种情况下,有必要开发自定义编号模块。
 
  
见 [[Create numeration module|Create numbering module]].
+
==文档模板和文档生成==
  
== 模板 ==
+
有关从模板生成文档的更多信息,请参阅 [[创建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 141: Line 163:
 
</source>
 
</source>
  
= 批量导出/导入 =
+
=批量导入/导出=
# [[批量导入]]
+
 
# [[Module Exports En|Mass exports]]
+
#[[批量导入]]
 +
#[[导出模块]]
 +
 
 +
=与其他应用程序的接口和链接=
 +
 
 +
#[[Dolibarr到外部系统的接口]] 或 Dolibarr到Dolibarr的接口(Dolibarr触发器或钩子)
 +
#[[外部系统到Dolibarr的接口]]
 +
#[[Module Web Services|Web Services]]
  
= 与其他应用程序的接口和链接 =
+
==Dolibarr 集成到自动化平台==
# [[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
 
# [[Interfaces from foreign systems toward Dolibarr]]
 
# [[Module Web Services|Web Services]]
 
  
= FAQ =
+
*[[Integration of Dolibarr to the Zapier automation platform]]
All FAQs are available through the FAQ index page [[:Category:FAQ EN|FAQ EN]]
+
*[[Integration of Dolibarr to the n8n automation platform]]
 +
*[[Integration of Dolibarr to the Make automation platform]]
  
--[[User:R.ivnun|Roger-QQ12464313]] 09:00, 19 July 2018 (UTC)
+
=FAQ=
 +
所有常见问题(FAQs)解答均可通过 FAQ 索引页面 [[:Category:FAQ EN|FAQ EN]] 获取。

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 获取。