Difference between revisions of "开发文档"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Developer_documentation".)
Line 9: Line 9:
 
<!-- END interlang links -->
 
<!-- END interlang links -->
  
<seo metak="developer, development, documentation, guide, doc, tutorial, usage, help, api, coding, standard, rules" />
+
<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]]
 
# [[Environment and development tools]]
 
# [[Dependencies and external libraries]]
 
# [[FAQ_Get,update_project_sources|Get or update sources of a development version]]
 
  
= 代码规则和最佳实践 =
+
#[[Dolibarr Project|项目的组织]]
# [[安装前提条件|安装前提条件]]
+
#[[To known before to start|开发前要了解的信息]]
# [[语言和开发规则|语言和开发规则 (PHP, SQL, HTML)]]
+
#[[Environment and development tools|环境和开发工具]]
# [[:Category:Table SQL|数据表列表]]
+
#[[Dependencies and external libraries|外部库和依赖关系]]
# 文件结构和可用类: [http://doxygen.dolibarr.org/ doxygen generated documentation]
+
#[[FAQ_Get,update_project_sources|获取、更新版本的源代码]]
  
= 模块清单 =
+
=代码规则和最佳实践=
 +
 
 +
#[[安装前提条件|安装前提条件]]
 +
#[[语言和开发规则|语言和开发规则 (PHP, SQL, HTML)]]
 +
#[[:Category:Table SQL|数据表列表]]
 +
#文件结构和可用类: [http://doxygen.dolibarr.org/ doxygen generated documentation]
 +
 
 +
=模块清单=
 
标准的业务模块的技术文档可在每个模块的开发文档页中找到。选择你感兴趣的合适页面:
 
标准的业务模块的技术文档可在每个模块的开发文档页中找到。选择你感兴趣的合适页面:
  
* [[:Category:List of Modules (developer)‎|List of standard modules]]
+
*[[:Category:List of Modules (developer)‎|List of standard modules]]
* [[:Category:Complementary modules|List of complementary modules]]
+
*[[:Category:Complementary modules|List of complementary modules]]
  
= 开发一个新的GUI模块 =
+
=开发一个新的GUI模块=
 
本节描述了如何开发一个新的模块来改变Dolibarr用户界面。这可以是屏幕、主题、数据、它自己的CSS样式表、源代码或所有这一切。
 
本节描述了如何开发一个新的模块来改变Dolibarr用户界面。这可以是屏幕、主题、数据、它自己的CSS样式表、源代码或所有这一切。
  
Line 42: Line 43:
 
要开发自己的模块,请检查 [[模块开发]] 。
 
要开发自己的模块,请检查 [[模块开发]] 。
  
= 开发批处理或命令行脚本 =
+
=开发批处理或命令行脚本=
 
本章描述了如何开发命令行脚本来执行Dolibarr(Read,Update DATA…)中的任务。
 
本章描述了如何开发命令行脚本来执行Dolibarr(Read,Update DATA…)中的任务。
  
Line 49: Line 50:
 
要开发一个脚本,像一个CRON脚本或命令行导入工具从外部源导入数据,您可以查看 [[脚本开发]] 。
 
要开发一个脚本,像一个CRON脚本或命令行导入工具从外部源导入数据,您可以查看 [[脚本开发]] 。
  
= Dolibarr的技术部件 =
+
=Dolibarr的技术部件=
== 树形结构 ==
+
==树形结构==
 
当前版本文件的路径层次结构可从 [http://doxygen.dolibarr.org/ doxygen generated documentation] (类似于生成的“JavaDoc”文档).
 
当前版本文件的路径层次结构可从 [http://doxygen.dolibarr.org/ doxygen generated documentation] (类似于生成的“JavaDoc”文档).
  
 
新文档中添加新文件的路径定义在开发新模块的文档中。 (见 [[模块开发]]).
 
新文档中添加新文件的路径定义在开发新模块的文档中。 (见 [[模块开发]]).
  
=== 主要文件的解释 ===
+
===主要文件的解释===
* /main.inc.php 定义Dolibarr GUI 环境(脚本不需要引用)
+
 
* /master.inc.php  定义Dolibarr所有进程的环境,不管是页面还是脚本。文件记取conf文件,初始化 $lang, [[$db]]和空的$user
+
*/main.inc.php 定义Dolibarr GUI 环境(脚本不需要引用)
* /filefunc.inc.php  引用 conf.php 文件和其他通用库文件,比如: functions.lib.php
+
*/master.inc.php  定义Dolibarr所有进程的环境,不管是页面还是脚本。文件记取conf文件,初始化 $lang, [[$db]]和空的$user
* /core/lib/function.inc.php 函数库,包括了引用数据库的函数。
+
*/filefunc.inc.php  引用 conf.php 文件和其他通用库文件,比如: functions.lib.php
* /core/class/html.formother.class.php 其他HTML部件的预先配置文件
+
*/core/lib/function.inc.php 函数库,包括了引用数据库的函数。
 +
*/core/class/html.formother.class.php 其他HTML部件的预先配置文件
  
== 配置参数的存储 ==
+
==配置参数的存储==
 
Dolibarr设置参数有3个位置。
 
Dolibarr设置参数有3个位置。
* Dolibarr技术设置参数(身份验证模式、数据库登录和文件存储区域)在设置文件中定义:“conf/conf.php”。见 [[Configuration file]]。
 
* 全局功能参数存储在 [[Table llx_const]]。见 [[Constants]] 。
 
* 用户功能参数存储在 [[Table llx_user_param]]. 见 [[Constants]] 。
 
  
== 业务对象 ==
+
*Dolibarr技术设置参数(身份验证模式、数据库登录和文件存储区域)在设置文件中定义:“conf/conf.php”。见 [[Configuration file]]。
 +
*全局功能参数存储在 [[Table llx_const]]。见 [[Constants]] 。
 +
*用户功能参数存储在 [[Table llx_user_param]]. 见 [[Constants]] 。
 +
 
 +
==业务对象==
 
见 [[业务对象]]
 
见 [[业务对象]]
  
== 菜单 ==
+
==菜单==
 
见 [[菜单]].
 
见 [[菜单]].
  
== 选项卡 ==
+
==选项卡==
 
见 [[选项卡]].
 
见 [[选项卡]].
  
== 主题 ==
+
==主题==
 
见 [[主题]].
 
见 [[主题]].
  
== 信息框 ==
+
==信息框==
 
见 [[信息框]].
 
见 [[信息框]].
  
== 身份认证 ==
+
==身份认证==
 
见 [[认证]].
 
见 [[认证]].
  
== 权限 ==
+
==权限==
 
见 [[用户权限]].
 
见 [[用户权限]].
  
== 翻译 ==
+
==翻译==
 
见 [[翻译]].
 
见 [[翻译]].
  
== 错误信息 ==
+
==错误信息==
 
见 [[Error reporting|Error reporting]].
 
见 [[Error reporting|Error reporting]].
  
== 画布 ==
+
==画布==
 
'''画布'''是替换屏幕显示的开发功能。
 
'''画布'''是替换屏幕显示的开发功能。
  
Line 104: Line 107:
 
见 [[画布]].
 
见 [[画布]].
  
== 触发器 ==
+
==触发器==
 
触发器是在Dolibarr“业务事件”(创建发票、删除用户、更新第三方等)中执行个性化代码的开发功能,仅用于业务事件。其他情景的个性化代码,请查看“钩子”章节。
 
触发器是在Dolibarr“业务事件”(创建发票、删除用户、更新第三方等)中执行个性化代码的开发功能,仅用于业务事件。其他情景的个性化代码,请查看“钩子”章节。
  
 
见 [[Interfaces Dolibarr toward foreign systems|this page]].
 
见 [[Interfaces Dolibarr toward foreign systems|this page]].
  
== 钩子 ==
+
==钩子==
 
见 [[钩子系统]].
 
见 [[钩子系统]].
  
== 变量代换 ==
+
==变量代换==
 
见 [[Variable substitution system]].
 
见 [[Variable substitution system]].
  
== Web服务 ==
+
==Web服务==
 
Dolibarr可以设置提供一些服务。
 
Dolibarr可以设置提供一些服务。
  
 
见 [[Module Web Services]].
 
见 [[Module Web Services]].
  
== 文件存储 ==
+
==文件存储==
 
见 [[Generated documents]].
 
见 [[Generated documents]].
  
== 编号模块 ==
+
==编号模块==
 
对于在系统中创建的每个实体,Dolibarr自动分配引用。
 
对于在系统中创建的每个实体,Dolibarr自动分配引用。
  
Line 134: Line 137:
 
见 [[自动编号模块|自动编号模块]].
 
见 [[自动编号模块|自动编号模块]].
  
== 模板 ==
+
==模板==
  
 
关于模板生成文档的更多文档见 [[创建PDF模板]] 或 [[Create an ODT document template]].
 
关于模板生成文档的更多文档见 [[创建PDF模板]] 或 [[Create an ODT document template]].
  
== 附加字段 ==
+
==附加字段==
 
见 [[附加字段]].
 
见 [[附加字段]].
  
== 其他内部功能 ==
+
==其他内部功能==
 
您的代码可以使用许多内部库。
 
您的代码可以使用许多内部库。
  
Line 158: Line 161:
 
</source>
 
</source>
  
= 批量导出/导入 =
+
=批量导出/导入=
# [[批量导入]]
+
 
# [[Module Exports En|Mass exports]]
+
#[[批量导入]]
 +
#[[Module Exports En|Mass exports]]
 +
 
 +
=与其他应用程序的接口和链接=
  
= 与其他应用程序的接口和链接 =
+
#[[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
# [[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
+
#[[Interfaces from foreign systems toward Dolibarr]]
# [[Interfaces from foreign systems toward Dolibarr]]
+
#[[Module Web Services|Web Services]]
# [[Module Web Services|Web Services]]
 
  
= FAQ =
+
=FAQ=
 
All FAQs are available through the FAQ index page [[:Category:FAQ EN|FAQ EN]]
 
All FAQs are available through the FAQ index page [[:Category:FAQ EN|FAQ EN]]
  
 
--[[User:R.ivnun|Roger-QQ12464313]] 09:00, 19 July 2018 (UTC)
 
--[[User:R.ivnun|Roger-QQ12464313]] 09:00, 19 July 2018 (UTC)

Revision as of 00:18, 13 September 2023


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


组织和开发工具

本章提供了在 Dolibarr 上开始任何开发操作之前必须阅读的全局信息。

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

代码规则和最佳实践

  1. 安装前提条件
  2. 语言和开发规则 (PHP, SQL, HTML)
  3. 数据表列表
  4. 文件结构和可用类: doxygen generated documentation

模块清单

标准的业务模块的技术文档可在每个模块的开发文档页中找到。选择你感兴趣的合适页面:

开发一个新的GUI模块

本节描述了如何开发一个新的模块来改变Dolibarr用户界面。这可以是屏幕、主题、数据、它自己的CSS样式表、源代码或所有这一切。

脚本开发不包括在本节中(这将在下一章中描述)。

要开发自己的模块,请检查 模块开发

开发批处理或命令行脚本

本章描述了如何开发命令行脚本来执行Dolibarr(Read,Update DATA…)中的任务。

在本章中不包括对图形用户界面(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设置参数有3个位置。

业务对象

业务对象

菜单

菜单.

选项卡

选项卡.

主题

主题.

信息框

信息框.

身份认证

认证.

权限

用户权限.

翻译

翻译.

错误信息

Error reporting.

画布

画布是替换屏幕显示的开发功能。

以新模板替换老模板来'创建'、'编辑'或'显示'记录(产品,合伙人,联系人,…)。

例如,您可以替换掉系统自带的“新建合伙人”的窗体,或者“修改合伙人”的窗体,或者替换掉"查看合伙人"的模板。

画布.

触发器

触发器是在Dolibarr“业务事件”(创建发票、删除用户、更新第三方等)中执行个性化代码的开发功能,仅用于业务事件。其他情景的个性化代码,请查看“钩子”章节。

this page.

钩子

钩子系统.

变量代换

Variable substitution system.

Web服务

Dolibarr可以设置提供一些服务。

Module Web Services.

文件存储

Generated documents.

编号模块

对于在系统中创建的每个实体,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. Mass exports

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

  1. Interfaces Dolibarr toward foreign systems or toward Dolibarr (Dolibarr Triggers)
  2. Interfaces from foreign systems toward Dolibarr
  3. Web Services

FAQ

All FAQs are available through the FAQ index page FAQ EN

--Roger-QQ12464313 09:00, 19 July 2018 (UTC)