画布: Difference between revisions
(Created page with "{{TemplateDocDevEn}} {{Template用户手册}} {{TemplateMainPageZh}} 画布是替换屏幕显示的开发功能。 以新窗体替换老窗体来创建、更新或查看记录...") |
No edit summary |
||
| (18 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
<!-- BEGIN interlang links --> | |||
<!-- Do NOT edit this section | |||
Links below are automatically managed by PolyglotBot | |||
You can edit links on the English source page : Canvas_development --> | |||
[[en:Canvas_development]] | |||
[[fr:Développement_Canvas]] | |||
[[es:Desarrollo_Canvas]] | |||
<!-- END interlang links --> | |||
{{Template开发文档}} | |||
画布是一个开发功能,用于替换用于创建、更新或显示对象(产品、合作方、联系人等)的表单。 | |||
例如,您可以替换“新建合作方”的输入表单,也可以替换合作方的编辑表单或显示表单。 | |||
= 条件 = | =条件= | ||
画布功能在3.2或更高版本中可用。 | |||
它目前可用于以下对象: | |||
*'''创建产品、联系人和合作方'''的表单 | |||
*'''编辑产品、联系人和合作方'''的表单 | |||
*'''显示产品、联系人和合作方'''的tab选项卡。在大多数情况下,这只是查看受支持对象时的第一个选项卡。但是,如果您真的想干预其他选项卡,您也可以查看 [[模块开发]] 页面,了解如何禁用或添加选项卡。 | |||
=将创建表单替换为画布页面= | |||
首先要找到要替换的标准创建表单的URL,并添加参数 canvas=mycanvas@mymodule。要查找URL,您可以进入页面并在浏览器顶部找到URL。 | |||
例如,假设您希望用自己的表单替换新建合作方表单。URL类似于: | |||
'''http://mydomain/societe/card.php?action=create&leftmenu=''' | |||
添加canvas参数后,URL将如下所示: | |||
'''http://mydomain/societe/card.php?action=create&leftmenu=&canvas=mycanvas@mymodule''' | |||
当您在创建页面上添加了参数 canvas=mycanvas@mymodule,Dolibarr将使用htdocs中的模板文件,该文件名为: | |||
'''/''mymodule''/canvas/''mycanvas''/tpl/''tabname''_create.tpl.php''' | |||
其中: | |||
*mymodule目录是在canvas参数中找到的mymodule值(选择此值并创建具有相同值的目录;请使用小写)。 | |||
*mycanvas目录是在canvas参数中找到的mycanvas值(选择此值并创建具有相同值的目录;请使用小写)。 | |||
*tablename是存储初始表单的选项卡或页面的名称。在大多数情况下,它的值是“card”。 | |||
例如,我们使用“company@societe”作为canvas参数。这是一个已经为合作方编码的演示画布模板的值,在Dolibarr的标准使用中未使用,而是作为“演示”提供。因此,使用此替代模板创建合作方的URL现在是: | |||
'''/societe/canvas | '''http://mydomain/societe/card.php?action=create&leftmenu=&canvas=company@societe''' | ||
这意味着用于创建合作方的表单将在此模板文件中找到: | |||
'''/societe/canvas/company/tpl/card_create.tpl.php''' | |||
因此,要使用您自己的模板,只需为mymodule、mycanvas选择一个值,使用新目录和文件名复制并粘贴Dolibarr目录中的演示模板,然后根据需要修改模板。模板包含顶部菜单下方和左侧菜单右侧的整个部分。您可以更改字段的外观、顺序、添加JavaScript控件、删除或添加自己的字段。唯一的要求是保持必填字段具有相同的名称,以避免在发送页面时出错。已删除的字段将在数据库中填充NULL或0。当前新字段被忽略。稍后我们将看到如何添加代码来保存它们。 | |||
完成后,您现在需要在Dolibarr菜单中添加新的创建URL,或将现有URL替换为新URL。要执行此操作,请参阅 [[菜单|菜单系统]] 页面。 | |||
请注意,当使用画布保存记录时,画布名称 mycanvas@mymodule 也会存储在数据库中。这一点很重要,因为这意味着Dolibarr将能够知道这一记录是哪个画布保存的,而不是由另一个画布保存的。因此,它可以建议仅用于此记录的视图或修改表单,并继续对其他记录使用标准表单。请参阅以下章节。 | |||
=将编辑表单替换为您自己的模板= | |||
对使用您自己的创建表单保存的记录,使用您自己的编辑表单来编辑,非常简单,只需添加一个文件: | |||
'''/mymodule/canvas/mycanvas/tpl/tabname_edit.tpl.php''' | |||
'''/societe/canvas/company/tpl/card_edit.tpl''' | 其中: | ||
*'''mymodule''' 目录是用作创建记录的工作区参数的mymodule值(请参阅上一章)。 | |||
*'''mycanvas''' 是用于创建记录的 canvas 参数的mycanvas值(请参阅上一章)。 | |||
*'''tabname''' 是要编辑记录的选项卡或页面的名称。在大多数情况下,它的值是“card”。 | |||
在我们的 company@societe 画布演示种,模板文件是: | |||
'''/societe/canvas/company/tpl/card_edit.tpl.php''' | |||
请注意,对于编辑来说,不需要更改URL。Dolibarr可以检测到您的记录是自定义画布保存的,并自动扫描此模板文件以显示它(如果找到)。否则,将使用标准表单。因此,要使用自己的编辑模板,您只需复制并粘贴现有的编辑模板文件,并使用正确的mymodule和mycanvas值对其进行重命名,然后根据需要对其进行编辑。与创建一样,必须保留所有必填字段,以避免在提交表单以保存变更时出错。 | |||
=将视图表单替换为您自己的模板= | |||
对使用您自己的创建表单保存的记录,使用您自己的视图表单来显示,非常简单,只需添加一个文件: | |||
'''/mymodule/canvas/mycanvas/tpl/tabname_view.tpl.php''' | |||
其中: | |||
*'''mymodule''' 目录是用作创建记录的工作区参数的mymodule值(请参阅上一章)。 | |||
* '''mymodule''' | *'''mycanvas''' 是用于创建记录的 canvas 参数的mycanvas值(请参阅上一章)。 | ||
* '''mycanvas''' | *'''tabname''' 是要显示记录的选项卡或页面的名称。在大多数情况下,它的值是“card”。 | ||
* '''tabname''' | |||
在我们的 company@societe 画布演示种,模板文件是: | |||
'''/societe/canvas/company/tpl/card_view.tpl''' | '''/societe/canvas/company/tpl/card_view.tpl.php''' | ||
请注意,对于显示来说,不需要更改URL。Dolibarr可以检测到您的记录是自定义画布保存的,并自动扫描此模板文件以显示它(如果找到)。否则,将使用标准表单。因此,要使用自己的视图模板,只需复制并粘贴现有的演示视图模板文件,并使用正确的mymodule和mycanvas值对其进行重命名,然后根据需要对其进行编辑。 | |||
= | =添加代码以管理新字段= | ||
{{ToComplete}} | {{ToComplete}} | ||
参考外部模块 cabinetmed 。 | |||
[[Category:开发]] | |||
Latest revision as of 06:45, 27 September 2023
画布是一个开发功能,用于替换用于创建、更新或显示对象(产品、合作方、联系人等)的表单。
例如,您可以替换“新建合作方”的输入表单,也可以替换合作方的编辑表单或显示表单。
条件
画布功能在3.2或更高版本中可用。
它目前可用于以下对象:
- 创建产品、联系人和合作方的表单
- 编辑产品、联系人和合作方的表单
- 显示产品、联系人和合作方的tab选项卡。在大多数情况下,这只是查看受支持对象时的第一个选项卡。但是,如果您真的想干预其他选项卡,您也可以查看 模块开发 页面,了解如何禁用或添加选项卡。
将创建表单替换为画布页面
首先要找到要替换的标准创建表单的URL,并添加参数 canvas=mycanvas@mymodule。要查找URL,您可以进入页面并在浏览器顶部找到URL。
例如,假设您希望用自己的表单替换新建合作方表单。URL类似于:
http://mydomain/societe/card.php?action=create&leftmenu=
添加canvas参数后,URL将如下所示:
http://mydomain/societe/card.php?action=create&leftmenu=&canvas=mycanvas@mymodule
当您在创建页面上添加了参数 canvas=mycanvas@mymodule,Dolibarr将使用htdocs中的模板文件,该文件名为:
/mymodule/canvas/mycanvas/tpl/tabname_create.tpl.php
其中:
- mymodule目录是在canvas参数中找到的mymodule值(选择此值并创建具有相同值的目录;请使用小写)。
- mycanvas目录是在canvas参数中找到的mycanvas值(选择此值并创建具有相同值的目录;请使用小写)。
- tablename是存储初始表单的选项卡或页面的名称。在大多数情况下,它的值是“card”。
例如,我们使用“company@societe”作为canvas参数。这是一个已经为合作方编码的演示画布模板的值,在Dolibarr的标准使用中未使用,而是作为“演示”提供。因此,使用此替代模板创建合作方的URL现在是:
http://mydomain/societe/card.php?action=create&leftmenu=&canvas=company@societe
这意味着用于创建合作方的表单将在此模板文件中找到:
/societe/canvas/company/tpl/card_create.tpl.php
因此,要使用您自己的模板,只需为mymodule、mycanvas选择一个值,使用新目录和文件名复制并粘贴Dolibarr目录中的演示模板,然后根据需要修改模板。模板包含顶部菜单下方和左侧菜单右侧的整个部分。您可以更改字段的外观、顺序、添加JavaScript控件、删除或添加自己的字段。唯一的要求是保持必填字段具有相同的名称,以避免在发送页面时出错。已删除的字段将在数据库中填充NULL或0。当前新字段被忽略。稍后我们将看到如何添加代码来保存它们。
完成后,您现在需要在Dolibarr菜单中添加新的创建URL,或将现有URL替换为新URL。要执行此操作,请参阅 菜单系统 页面。
请注意,当使用画布保存记录时,画布名称 mycanvas@mymodule 也会存储在数据库中。这一点很重要,因为这意味着Dolibarr将能够知道这一记录是哪个画布保存的,而不是由另一个画布保存的。因此,它可以建议仅用于此记录的视图或修改表单,并继续对其他记录使用标准表单。请参阅以下章节。
将编辑表单替换为您自己的模板
对使用您自己的创建表单保存的记录,使用您自己的编辑表单来编辑,非常简单,只需添加一个文件:
/mymodule/canvas/mycanvas/tpl/tabname_edit.tpl.php
其中:
- mymodule 目录是用作创建记录的工作区参数的mymodule值(请参阅上一章)。
- mycanvas 是用于创建记录的 canvas 参数的mycanvas值(请参阅上一章)。
- tabname 是要编辑记录的选项卡或页面的名称。在大多数情况下,它的值是“card”。
在我们的 company@societe 画布演示种,模板文件是:
/societe/canvas/company/tpl/card_edit.tpl.php
请注意,对于编辑来说,不需要更改URL。Dolibarr可以检测到您的记录是自定义画布保存的,并自动扫描此模板文件以显示它(如果找到)。否则,将使用标准表单。因此,要使用自己的编辑模板,您只需复制并粘贴现有的编辑模板文件,并使用正确的mymodule和mycanvas值对其进行重命名,然后根据需要对其进行编辑。与创建一样,必须保留所有必填字段,以避免在提交表单以保存变更时出错。
将视图表单替换为您自己的模板
对使用您自己的创建表单保存的记录,使用您自己的视图表单来显示,非常简单,只需添加一个文件:
/mymodule/canvas/mycanvas/tpl/tabname_view.tpl.php
其中:
- mymodule 目录是用作创建记录的工作区参数的mymodule值(请参阅上一章)。
- mycanvas 是用于创建记录的 canvas 参数的mycanvas值(请参阅上一章)。
- tabname 是要显示记录的选项卡或页面的名称。在大多数情况下,它的值是“card”。
在我们的 company@societe 画布演示种,模板文件是:
/societe/canvas/company/tpl/card_view.tpl.php
请注意,对于显示来说,不需要更改URL。Dolibarr可以检测到您的记录是自定义画布保存的,并自动扫描此模板文件以显示它(如果找到)。否则,将使用标准表单。因此,要使用自己的视图模板,只需复制并粘贴现有的演示视图模板文件,并使用正确的mymodule和mycanvas值对其进行重命名,然后根据需要对其进行编辑。
添加代码以管理新字段
参考外部模块 cabinetmed 。