画布: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 1: Line 1:
{{TemplateDocDevEn}}
{{Template用户手册}}
{{Template用户手册}}
{{Template开发文档}}
{{TemplateMainPageZh}}
{{TemplateMainPageZh}}
画布是替换屏幕显示的开发功能。
画布是替换屏幕显示的开发功能。
Line 9: Line 9:


= 条件 =
= 条件 =
'''画布'''功能于 Dolibarr 3.2 以后可用。
画布功能于 Dolibarr 3.2 以后可用。


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


多数情况下,是打开对象时的第一个选项卡。您可以查看新的模块创建文档: [[Module_development#The_tab_management]] 了解如何管理选项卡。
= 用自己的模板替换创建表单 =
 
= 用自定义模板替换'创建'表单 =
首先要找到要替换的标准创建表单的URL并添加参数: '''canvas=mycanvas@mymodule'''. 要找到URL,你可以在浏览器顶部找到URL。
首先要找到要替换的标准创建表单的URL并添加参数: '''canvas=mycanvas@mymodule'''. 要找到URL,你可以在浏览器顶部找到URL。


例如,你想替换掉新建第三方的表单。URL有点像
例如,你想替换掉新建第三方的表单。URL有点像


'''http://mydomain/societe/soc.php?action=create&leftmenu=customers'''
'''http://mydomain/societe/card.php?action=create&leftmenu='''


添加了画布参数后,URL看起来会像:
添加了画布参数后,URL看起来会像:


'''http://mydomain/societe/soc.php?action=create&leftmenu=customers&canvas=mycanvas@mymodule'''
'''http://mydomain/societe/card.php?action=create&leftmenu=&canvas=mycanvas@mymodule'''


当你在“新建”页面增加了参数 canvas=mycanvas@mymodule , Dolibarr 将使用模板文件
当你在“新建”页面增加了参数 canvas=mycanvas@mymodule , Dolibarr 将使用模板文件


'''/''mymodule''/canvas/''mycanvas''/tpl/''tabname''_create.tpl'''
'''/''mymodule''/canvas/''mycanvas''/tpl/''tabname''_create.tpl.php'''


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


例如,用值 "'''company@societe'''" 作为画布参数. 这个值,已经为第三方编写了演示模板。 不在Dolibarr的标准库中,而是做为"Demo"。使用这个替代模板创建URL是:
例如,用值 "'''company@societe'''" 作为画布参数. 这个值,已经为第三方编写了演示模板。 不在Dolibarr的标准库中,而是做为"Demo"。使用这个替代模板创建URL是:


'''http://mydomain/societe/soc.php?action=create&leftmenu=customers&canvas=societe@company'''
'''http://mydomain/societe/card.php?action=create&leftmenu=&canvas=company@societe'''


这意味着创建第三方的表单将载入模板文件:
这意味着创建第三方的新建表单将载入模板文件:


'''/societe/canvas/company/tpl/card_create.tpl'''
'''/societe/canvas/company/tpl/card_create.tpl.php'''


使用自定义模板,只需选择值'''mymodule''', '''mycanvas''', 复制/粘贴一个Demo模板,新建目录,将粘贴的模板改名,然后修改模板内容。
使用自定义模板,只需选择值'''mymodule''', '''mycanvas''', 复制/粘贴一个Demo模板,新建目录,将粘贴的模板改名,然后修改模板内容。


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


完成修改模板后,接下来将新的'创建URL'添加到Dolibarr菜单中,或者用新的菜单替换现有的URL。见 [[Menus_system]].
完成修改模板后,接下来将新的'创建URL'添加到Dolibarr菜单中,或者用新的菜单替换现有的URL。见 [[Menus_system]].


注意,当使用画布保存记录时,画布名 '''mycanvas@mymodule''' 会存储于数据库中。因为,Dolibarr将能够知道这条记录是一个画布创建,因此,系统将只为这个记录使用专用的‘视图’或‘编辑’表单,并继续为其他记录使用标准表单。请参阅下一章。
注意,当使用画布保存记录时,画布名 '''mycanvas@mymodule''' 会存储于数据库中。因为,Dolibarr知道这条记录是一个画布创建的,因此,系统将只为这个记录使用专用的‘视图’或‘编辑’表单,并继续为其他记录使用标准表单。请参阅下一章。


= 用自定义模板替换'编辑'表单 =
= 用自定义模板替换'编辑'表单 =
Line 68: Line 73:
'''/societe/canvas/company/tpl/card_edit.tpl'''
'''/societe/canvas/company/tpl/card_edit.tpl'''


注意,对于编辑不需要更改URL。
注意,'''对于'编辑'不需要更改URL'''。


Dolibarr可以检测你的记录是一个自定义的画布记录,并自动扫描这个模板文件来显示。如果没有发现模板,将使用标准模板。
Dolibarr可以检测你的记录是一个自定义的画布记录,并自动扫描这个模板文件来显示。如果没有发现模板,将使用标准模板。
Line 75: Line 80:
与创建一样,当提交表单以保存更改时,必须保留所有强制字段以避免错误。
与创建一样,当提交表单以保存更改时,必须保留所有强制字段以避免错误。


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


513

edits

Navigation menu