画布: Difference between revisions
(→条件) |
(→条件) |
||
| Line 9: | Line 9: | ||
= 条件 = | = 条件 = | ||
'''画布'''功能于 Dolibarr 3.2 以后可用。 | '''[[词汇表#画布]]'''功能于 Dolibarr 3.2 以后可用。 | ||
它只适用于: | 它只适用于: | ||
Revision as of 04:46, 20 July 2018
畫布是替換屏幕顯示的開發功能。
以新窗體替換老窗體來創建、更新或查看記錄(產品,第三方,聯繫人,…)。
例如,您可以替換掉系統自帶的「新建第三方」的窗體,或者「修改第三方」的窗體,或者替換掉查看模板。
條件
詞彙表#畫布功能於 Dolibarr 3.2 以後可用。
它只適用於:
- products, contacts 和 third parties 對象的新建 窗體
- products, contacts and third parties對象的編輯 窗體
- products, contacts and third parties對象的顯示 選項卡。 多數情況下,是打開對象時的第一個選項卡。您可以查看新的模塊創建文檔: Module_development#The_tab_management 了解如何管理選項卡。
用自定義模板替換創建表單
首先要找到要替換的標準創建表單的URL並添加參數: canvas=mycanvas@mymodule. 要找到URL,你可以在瀏覽器頂部找到URL。
例如,你想替換掉新建第三方的表單。URL有點像
http://mydomain/societe/soc.php?action=create&leftmenu=customers
添加了畫布參數後,URL看起來會像:
http://mydomain/societe/soc.php?action=create&leftmenu=customers&canvas=mycanvas@mymodule
當你在「新建」頁面增加了參數 canvas=mycanvas@mymodule , Dolibarr 將使用模板文件
/mymodule/canvas/mycanvas/tpl/tabname_create.tpl
在這裏:
- mymodule 能找到畫布參數的mymodule模塊的目錄名(您選擇此值並創建具有相同值的目錄。使用小寫值).
- mycanvas 畫布參數的名稱 (您選擇此值並創建具有相同值的目錄。使用小寫值).
- tabname 存儲初始表單的選項卡的名稱。在大多數情況下,它是價值的「card」。
例如,用值 "company@societe" 作為畫布參數. 這個值,已經為第三方編寫了演示模板。 不在Dolibarr的標準庫中,而是做為"Demo"。使用這個替代模板創建URL是:
http://mydomain/societe/soc.php?action=create&leftmenu=customers&canvas=societe@company
這意味着創建第三方的表單將載入模板文件:
/societe/canvas/company/tpl/card_create.tpl
使用自定義模板,只需選擇值mymodule, mycanvas, 複製/粘貼一個Demo模板,新建目錄,將粘貼的模板改名,然後修改模板內容。
模板包含了水平菜單以下,左側菜單以右的所有部分。 可以改變顯示,字段順序,增加javescript控制,移除或增加自定義字段。 唯一的要求是在提交頁面時保留強制字段的名字以避免錯誤。不在模板中的字段將會填充為Null 或 0。新字段被忽略。稍後會學習增加代碼以保存新字段。
完成修改模板後,接下來將新的'創建URL'添加到Dolibarr菜單中,或者用新的菜單替換現有的URL。見 Menus_system.
注意,當使用畫布保存記錄時,畫布名 mycanvas@mymodule 會存儲於數據庫中。因為,Dolibarr將能夠知道這條記錄是一個畫布而不是另一個,因此,系統將只為這個記錄使用專用的『視圖』或『編輯』表單,並繼續為其他記錄使用標準表單。請參閱下一章。
用自定義模板替換編輯表單
使用自己的『編輯』表單來編輯記錄(使用自己的『創建』表單保存的記錄)只需添加一個文件:
/mymodule/canvas/mycanvas/tpl/tabname_edit.tpl
這裏:
- mymodule 能找到畫布參數的mymodule模塊的目錄名 (見前章).
- mycanvas 畫布參數的名稱(見前章).
- tabname 編輯記錄的選項卡名稱,大多數為 "card".
以演示畫布 societe@company 為例, 編輯模板在文件:
/societe/canvas/company/tpl/card_edit.tpl
注意,對於編輯不需要更改URL。
Dolibarr可以檢測你的記錄是一個自定義的畫布記錄,並自動掃描這個模板文件來顯示。如果沒有發現模板,將使用標準模板。
因此,使用自己的編輯模板所需做的就是複製和粘貼現有的演示編輯模板文件,並用mymodule和mycanvas的正確值重命名它並編輯它以滿足您的需要。 與創建一樣,當提交表單以保存更改時,必須保留所有強制字段以避免錯誤。
用自定義模板替換『顯示』窗體
使用自定義的『顯示』窗體來顯示記錄(使用自己的創建窗體保存的記錄),只需添加文件:
/mymodule/canvas/mycanvas/tpl/tabname_view.tpl
where
- mymodule directory is value mymodule you used as canvas parameter to create record (see previous chapter).
- mycanvas is value mycanvas you used as canvas parameter to create record (see previous chapter).
- tabname is name of tab or page to edit record. In most cases it is value "card".
以演示畫布 societe@company 為例, 顯示模板在文件:
/societe/canvas/company/tpl/card_view.tpl
注意,對於'顯示',不需要更改URL。Dolibarr可以檢測你的記錄是一個自定義的畫布記錄,並自動掃描這個模板文件來顯示記錄。如果沒有,將使用標準模板。因此,使用你自己的視圖模板所要做的就是複製和粘貼一個現有的演示視圖模板文件,並用mymodule和mycanvas的正確值重命名它並編輯它以滿足您的需要。
添加代碼管理新字段
Example into external module cabinetmed.