開發文檔

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


此頁是與開發者文檔相關的文章索引。有關使用者文檔,請參閱用戶手冊.


組織和開發工具

本章包含在開始任何Dolibarr開發行動之前需要閱讀的一般信息。

  1. 項目組織
  2. 在開始開發之前要了解的信息
  3. 環境和開發工具
  4. 外部庫和依賴項
  5. 獲取、更新版本的源代碼

編碼規則和最佳實踐

  1. 先決條件
  2. 開發語言和標準(PHP, SQL, HTML)
  3. 數據庫表清單
  4. 核心文件和類樹結構請參閱: doxygen生成的文檔

模塊清單

特定於Dolibarr標準功能模塊的技術文檔在每個模塊的開發文檔頁上定義。選擇要訪問的頁面:


附加組件列表在附加組件頁面上定義

開發一個新的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)