画布: Difference between revisions

Jump to navigation Jump to search
no edit summary
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Canvas_development".)
No edit summary
Line 8: Line 8:
<!-- END interlang links -->
<!-- END interlang links -->


{{Template用户手册}}
{{Template开发文档}}
{{Template开发文档}}
{{TemplateMainPageZh}}
画布是替换屏幕显示的开发功能。


以新窗体替换老窗体来创建、更新或查看记录(产品,第三方,联系人,…)。
画布是一个开发功能,用于替换用于创建、更新或显示对象(产品、合作方、联系人等)的表单。


例如,您可以替换掉系统自带的“新建第三方”的窗体,或者“修改第三方”的窗体,或者替换掉查看模板。
例如,您可以替换“新建合作方”的输入表单,也可以替换合作方的编辑表单或查看表单。


= 条件 =
=条件=
画布功能于 Dolibarr 3.2 以后可用。
画布功能在3.2或更高版本中可用。


它只适用于:
它目前可用于以下对象:
* '''products''', '''contacts''' 和 '''third parties''' 对象的'''新建''' 窗体
* '''products''', '''contacts''' 和 '''third parties''' 对象的'''编辑''' 窗体
* '''products''', '''contacts''' 和 '''third parties''' 对象的'''显示''' 选项卡。 多数情况下,是打开对象时的第一个选项卡。您可以查看新的模块创建文档: [[模块开发#选项卡管理(可选)]] 了解如何管理选项卡。


= 用自己的模板替换创建表单 =
*'''创建产品、联系人和合作方'''的表单
*'''编辑产品、联系人和合作方'''的表单
*'''查看产品、联系人和合作方'''的tab选项卡。在大多数情况下,这只是查看受支持对象时的第一个选项卡。但是,如果您真的想干预其他选项卡,您也可以查看  [[模块开发]]  页面,了解如何禁用或添加选项卡。
 
=用自己的模板替换创建表单=
首先要找到要替换的标准创建表单的URL并添加参数: '''canvas=mycanvas@mymodule'''. 要找到URL,你可以在浏览器顶部找到URL。
首先要找到要替换的标准创建表单的URL并添加参数: '''canvas=mycanvas@mymodule'''. 要找到URL,你可以在浏览器顶部找到URL。


Line 41: Line 39:


在这里:
在这里:
* '''mymodule''' 能找到画布参数的mymodule模块名(您选择此值并创建具有相同值的目录。使用小写值).
 
* '''mycanvas''' 画布参数的名称 (您选择此值并创建具有相同值的目录。使用小写值).
*'''mymodule''' 能找到画布参数的mymodule模块名(您选择此值并创建具有相同值的目录。使用小写值).
* '''tabname''' 存储初始表单的选项卡的名称。在大多数情况下,它的值是“card”。
*'''mycanvas''' 画布参数的名称 (您选择此值并创建具有相同值的目录。使用小写值).
*'''tabname''' 存储初始表单的选项卡的名称。在大多数情况下,它的值是“card”。


例如,用值 "'''company@societe'''" 作为画布参数. 这个值,已经为第三方编写了演示模板。 不在Dolibarr的标准库中,而是做为"Demo"。使用这个替代模板创建URL是:
例如,用值 "'''company@societe'''" 作为画布参数. 这个值,已经为第三方编写了演示模板。 不在Dolibarr的标准库中,而是做为"Demo"。使用这个替代模板创建URL是:
Line 55: Line 54:
使用自定义模板,只需选择值'''mymodule''', '''mycanvas''', 复制/粘贴一个Demo模板,新建目录,将粘贴的模板改名,然后修改模板内容。
使用自定义模板,只需选择值'''mymodule''', '''mycanvas''', 复制/粘贴一个Demo模板,新建目录,将粘贴的模板改名,然后修改模板内容。


* 模板包含了水平菜单以下,左侧菜单以右的所有部分。  
*模板包含了水平菜单以下,左侧菜单以右的所有部分。
* 可以改变显示,
*可以改变显示,
* 字段顺序,
*字段顺序,
* 增加javescript控制,
*增加javescript控制,
* 移除或增加自定义字段。
*移除或增加自定义字段。
* 唯一的要求是在提交页面时保留'''强制字段'''以避免错误。
*唯一的要求是在提交页面时保留'''强制字段'''以避免错误。
* 不在模板中的字段将会填充为Null 或 0。
*不在模板中的字段将会填充为Null 或 0。
* 新字段被忽略。稍后会学习增加代码以保存新字段。
*新字段被忽略。稍后会学习增加代码以保存新字段。


完成修改模板后,接下来将新的'创建URL'添加到Dolibarr菜单中,或者用新的菜单替换现有的URL。见 [[Menus_system]].
完成修改模板后,接下来将新的'创建URL'添加到Dolibarr菜单中,或者用新的菜单替换现有的URL。见 [[Menus_system]].
Line 68: Line 67:
注意,当使用画布保存记录时,画布名 '''mycanvas@mymodule''' 会存储于数据库中。因为,Dolibarr知道这条记录是一个画布创建的,因此,系统将只为这个记录使用专用的‘视图’或‘编辑’表单,并继续为其他记录使用标准表单。请参阅下一章。  
注意,当使用画布保存记录时,画布名 '''mycanvas@mymodule''' 会存储于数据库中。因为,Dolibarr知道这条记录是一个画布创建的,因此,系统将只为这个记录使用专用的‘视图’或‘编辑’表单,并继续为其他记录使用标准表单。请参阅下一章。  


= 用自定义模板替换'编辑'表单 =
=用自定义模板替换'编辑'表单=
使用自己的‘编辑’表单来编辑记录(使用自己的‘创建’表单保存的记录)只需添加一个文件:
使用自己的‘编辑’表单来编辑记录(使用自己的‘创建’表单保存的记录)只需添加一个文件:


Line 74: Line 73:


这里:
这里:
* '''mymodule''' 能找到画布参数的mymodule模块的目录名 (见前章).
 
* '''mycanvas''' 画布参数的名称(见前章).
*'''mymodule''' 能找到画布参数的mymodule模块的目录名 (见前章).
* '''tabname''' 编辑记录的选项卡名称,大多数为 "card".
*'''mycanvas''' 画布参数的名称(见前章).
*'''tabname''' 编辑记录的选项卡名称,大多数为 "card".


以演示画布 societe@company 为例, 编辑模板在文件:
以演示画布 societe@company 为例, 编辑模板在文件:
Line 89: Line 89:
与创建一样,当提交表单以保存更改时,必须保留所有强制字段以避免错误。
与创建一样,当提交表单以保存更改时,必须保留所有强制字段以避免错误。


= 用自定义模板替换‘显示’窗体 =
=用自定义模板替换‘显示’窗体=
使用自定义的‘显示’窗体来显示记录(使用自己的创建窗体保存的记录),只需添加文件:
使用自定义的‘显示’窗体来显示记录(使用自己的创建窗体保存的记录),只需添加文件:


Line 95: Line 95:


where
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).
*'''mymodule''' directory is value mymodule 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".
*'''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@company 为例, 显示模板在文件:
Line 105: Line 106:
注意,对于'显示',不需要更改URL。Dolibarr可以检测你的记录是一个自定义的画布记录,并自动扫描这个模板文件来显示记录。如果没有,将使用标准模板。因此,使用你自己的视图模板所要做的就是复制和粘贴一个现有的演示视图模板文件,并用mymodule和mycanvas的正确值重命名它并编辑它以满足您的需要。
注意,对于'显示',不需要更改URL。Dolibarr可以检测你的记录是一个自定义的画布记录,并自动扫描这个模板文件来显示记录。如果没有,将使用标准模板。因此,使用你自己的视图模板所要做的就是复制和粘贴一个现有的演示视图模板文件,并用mymodule和mycanvas的正确值重命名它并编辑它以满足您的需要。


= 添加代码管理新字段 =
=添加代码管理新字段=
{{ToComplete}}
{{ToComplete}}
Example into external module cabinetmed.
Example into external module cabinetmed.
714

edits

Navigation menu