513
edits
(→条件) |
No edit summary |
||
| Line 1: | Line 1: | ||
{{Template用户手册}} | {{Template用户手册}} | ||
{{Template开发文档}} | |||
{{TemplateMainPageZh}} | {{TemplateMainPageZh}} | ||
画布是替换屏幕显示的开发功能。 | 画布是替换屏幕显示的开发功能。 | ||
| Line 9: | Line 9: | ||
= 条件 = | = 条件 = | ||
画布功能于 Dolibarr 3.2 以后可用。 | |||
它只适用于: | 它只适用于: | ||
* | * '''products''', '''contacts''' 和 '''third parties''' 对象的'''新建''' 窗体 | ||
* '''products''', '''contacts''' | * '''products''', '''contacts''' 和 '''third parties''' 对象的'''编辑''' 窗体 | ||
* '''products''', '''contacts''' | * '''products''', '''contacts''' 和 '''third parties''' 对象的'''显示''' 选项卡。 多数情况下,是打开对象时的第一个选项卡。您可以查看新的模块创建文档: [[Module_development#The_tab_management]] 了解如何管理选项卡。 | ||
= 用自己的模板替换创建表单 = | |||
= | |||
首先要找到要替换的标准创建表单的URL并添加参数: '''canvas=mycanvas@mymodule'''. 要找到URL,你可以在浏览器顶部找到URL。 | 首先要找到要替换的标准创建表单的URL并添加参数: '''canvas=mycanvas@mymodule'''. 要找到URL,你可以在浏览器顶部找到URL。 | ||
例如,你想替换掉新建第三方的表单。URL有点像 | 例如,你想替换掉新建第三方的表单。URL有点像 | ||
'''http://mydomain/societe/ | '''http://mydomain/societe/card.php?action=create&leftmenu=''' | ||
添加了画布参数后,URL看起来会像: | 添加了画布参数后,URL看起来会像: | ||
'''http://mydomain/societe/ | '''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''' | * '''mymodule''' 能找到画布参数的mymodule模块名(您选择此值并创建具有相同值的目录。使用小写值). | ||
* '''mycanvas''' | * '''mycanvas''' 画布参数的名称 (您选择此值并创建具有相同值的目录。使用小写值). | ||
* '''tabname''' | * '''tabname''' 存储初始表单的选项卡的名称。在大多数情况下,它的值是“card”。 | ||
例如,用值 "'''company@societe'''" 作为画布参数. 这个值,已经为第三方编写了演示模板。 不在Dolibarr的标准库中,而是做为"Demo"。使用这个替代模板创建URL是: | 例如,用值 "'''company@societe'''" 作为画布参数. 这个值,已经为第三方编写了演示模板。 不在Dolibarr的标准库中,而是做为"Demo"。使用这个替代模板创建URL是: | ||
'''http://mydomain/societe/ | '''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。 | |||
* 新字段被忽略。稍后会学习增加代码以保存新字段。 | |||
完成修改模板后,接下来将新的'创建URL'添加到Dolibarr菜单中,或者用新的菜单替换现有的URL。见 [[Menus_system]]. | 完成修改模板后,接下来将新的'创建URL'添加到Dolibarr菜单中,或者用新的菜单替换现有的URL。见 [[Menus_system]]. | ||
注意,当使用画布保存记录时,画布名 '''mycanvas@mymodule''' | 注意,当使用画布保存记录时,画布名 '''mycanvas@mymodule''' 会存储于数据库中。因为,Dolibarr知道这条记录是一个画布创建的,因此,系统将只为这个记录使用专用的‘视图’或‘编辑’表单,并继续为其他记录使用标准表单。请参阅下一章。 | ||
= 用自定义模板替换'编辑'表单 = | = 用自定义模板替换'编辑'表单 = | ||
| Line 68: | Line 73: | ||
'''/societe/canvas/company/tpl/card_edit.tpl''' | '''/societe/canvas/company/tpl/card_edit.tpl''' | ||
注意,'''对于'编辑'不需要更改URL'''。 | |||
Dolibarr可以检测你的记录是一个自定义的画布记录,并自动扫描这个模板文件来显示。如果没有发现模板,将使用标准模板。 | Dolibarr可以检测你的记录是一个自定义的画布记录,并自动扫描这个模板文件来显示。如果没有发现模板,将使用标准模板。 | ||
| Line 75: | Line 80: | ||
与创建一样,当提交表单以保存更改时,必须保留所有强制字段以避免错误。 | 与创建一样,当提交表单以保存更改时,必须保留所有强制字段以避免错误。 | ||
= | = 用自定义模板替换‘显示’窗体 = | ||
使用自定义的‘显示’窗体来显示记录(使用自己的创建窗体保存的记录),只需添加文件: | 使用自定义的‘显示’窗体来显示记录(使用自己的创建窗体保存的记录),只需添加文件: | ||
edits