Difference between revisions of "选项卡"
Jump to navigation
Jump to search
Tag: 2017 source edit |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
{{TemplateMainPageZh}} | {{TemplateMainPageZh}} | ||
− | = | + | =Dolibarr选项卡系统= |
− | + | Dolibarr在由多个选项卡组成的视图中显示元素(发票、仓库、用户等)的信息。 | |
− | + | 您可以添加自己的选项卡、删除选项卡或替换现有选项卡。 | |
− | = | + | =添加您自己的选项卡= |
− | 1) | + | 1) 首先,您需要确定要添加、删除或修改的选项卡所指向的对象类型及其代码“objectType”。以下是完整清单: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 2) | + | *'thirdparty' --------- 要在合作方视图中添加选项卡 |
+ | *'intervention' ------ 要在现场服务视图中添加选项卡 | ||
+ | *'supplier_order' --- 要在供应商订单视图中添加选项卡 | ||
+ | *'supplier_invoice' - 要在供应商发票视图中添加选项卡 | ||
+ | *'invoice' ------------- 要在客户发票视图中添加选项卡 | ||
+ | *'order' ---------------- 要在客户订单视图中添加选项卡 | ||
+ | *'product' ------------- 要在产品视图中添加选项卡 | ||
+ | *'stock' ---------------- 要在库存视图中添加选项卡 | ||
+ | *'propal' --------------- 要在报价单视图中添加选项卡 | ||
+ | *'member' ------------ 要在基金会会员视图中添加选项卡 | ||
+ | *'contract' ------------ 要在合同视图中添加选项卡 | ||
+ | *'user' ----------------- 要在用户视图中添加选项卡 | ||
+ | *'group' --------------- 要在组视图中添加选项卡 | ||
+ | *'contact' ------------- 要在联系人视图中添加选项卡 | ||
+ | *'bank' ---------------- 要在银行视图中添加选项卡 | ||
+ | *'categories_x' ------ 要在类别视图中添加选项卡('x'的值:0=product, 1=supplier, 2=customer, 3=member) | ||
+ | *'member_stats', 'order_stats', 'supplier_order_stats', 'invoice_stats', 'supplier_invoice_stats', 'trip_stats', 'propal_stats' ------- 要在元素的统计视图中添加选项卡 | ||
+ | *'member_admin', 'company_admin', 'product_admin' --- 用于管理页面 | ||
+ | |||
+ | 2) 要添加自己的选项卡,请创建模块及其描述符文件。请参阅 [[模块开发]] 页面。 | ||
+ | |||
+ | 3) 然后,在文件描述符中,编辑 $this->tabs 属性,按照以下语法添加选项卡: | ||
− | |||
<source lang="php"> | <source lang="php"> | ||
$this->tabs = array( | $this->tabs = array( | ||
Line 48: | Line 51: | ||
</source> | </source> | ||
− | + | 这是一个由5或6个部分组成的字符串(取决于您是否选择使用$conditiontoshowtab),用 ''':''' 分隔。 | |
+ | |||
+ | 其中: | ||
− | + | *'''objecttype''' ------------------- 是您将修改的页面的对象类型代码。 | |
− | * objecttype | + | *'''+tabname''' -------------------- 是您为自己的选项卡选择的标识名称,前面是操作('+' 添加或 '-' 删除,您也可以删除其他选项卡,包括默认选项卡)。 |
− | * +tabname | + | *'''TitleOfTab''' ------------------- 是您为自己的选项卡选择的标题,它将被翻译。 |
− | * TitleOfTab | + | *'''@mymodule''' --------------- 是翻译选项卡标题时使用的语言文件(如: mytitlelang@mymodule ,将会查找 '''/htdocs/mymodule/langs/xx_XX/mytitlelang''' ''' xx_XX''' 是当前语言如:en_US,fr_FR等等)。 |
− | * @mymodule | + | *'''$conditiontoshowtab''' --- 是一个变量或者表达式,将被评估以获取其值:为true则显示选项卡,为false则不显示选项卡。例如:您可以使用 Dolibarr 权限系统(如:$user->rights->product->creer or $user->admin)或任何其它您想要的变量。这部分是可选的,您可以跳过它并在此字符串中只保留 5 个部分(不要忘记 ''':''' 号也要删除)。 |
− | * $conditiontoshowtab | + | *'''urloftab?id=__ID__''' ------ 是单击选项卡时将指向的URL。您可以使用占位符__ID__。如果定义了 id 的值,该占位符将被替换为 id 的值。如:DOL_DOCUMENT_ROOT.'/mymodule/lib/mytab.php' |
− | * urloftab?id=__ID__ | ||
+ | 示例: | ||
− | |||
<source lang="php"> | <source lang="php"> | ||
$this->tabs = array( | $this->tabs = array( | ||
Line 67: | Line 71: | ||
</source> | </source> | ||
− | 4) | + | 4) 激活此模块 |
+ | |||
+ | 5) 测试在对象页面中的新选项卡是否出现,链接是否能正确打开页面 | ||
− | + | =删除现有选项卡= | |
+ | 该过程与添加选项卡的过程相同,但在描述符文件的 $this->tabs 数组中使用以下语法: | ||
− | |||
− | |||
<source lang="php"> | <source lang="php"> | ||
$this->tabs = array( | $this->tabs = array( | ||
Line 81: | Line 86: | ||
注意:在这种情况下不需要其他参数。 | 注意:在这种情况下不需要其他参数。 | ||
− | == | + | 要查找现有选项卡的“tabname”名称,请参阅相应“core/lib/module.lib.php”文件的“product_prepare_head”函数中使用的名称,其位于“$head[$h][2]”部分。 |
− | * 打开浏览器的开发者工具。 | + | |
− | * 单击选择元素按钮 | + | ==如何确定您要删除的选项卡的名称== |
− | * 在窗口中选择你要删除的Dolibarr选顶卡。 | + | |
− | * 在开发者工具中查看 tab 属性 | + | *打开浏览器的开发者工具。 |
+ | *单击选择元素按钮 | ||
+ | *在窗口中选择你要删除的Dolibarr选顶卡。 | ||
+ | *在开发者工具中查看 tab 属性 | ||
[[File:企业微信截图 20180829160108.png|800px]] | [[File:企业微信截图 20180829160108.png|800px]] | ||
− | = | + | =用您的选项卡替换选项卡= |
− | + | 只需执行“添加您自己的选项卡”和“删除现有选项卡”步骤。如果添加的选项卡标题与删除的选项卡标题相同,则错觉将是完美的。 | |
− | = | + | =在自己的页面中显示选项卡= |
− | + | 有关如何在自己的页面中显示选项卡的更多信息,请参阅 [[模块开发]] 。 | |
− | [[ |
Latest revision as of 02:59, 26 September 2023
Dolibarr选项卡系统
Dolibarr在由多个选项卡组成的视图中显示元素(发票、仓库、用户等)的信息。
您可以添加自己的选项卡、删除选项卡或替换现有选项卡。
添加您自己的选项卡
1) 首先,您需要确定要添加、删除或修改的选项卡所指向的对象类型及其代码“objectType”。以下是完整清单:
- 'thirdparty' --------- 要在合作方视图中添加选项卡
- 'intervention' ------ 要在现场服务视图中添加选项卡
- 'supplier_order' --- 要在供应商订单视图中添加选项卡
- 'supplier_invoice' - 要在供应商发票视图中添加选项卡
- 'invoice' ------------- 要在客户发票视图中添加选项卡
- 'order' ---------------- 要在客户订单视图中添加选项卡
- 'product' ------------- 要在产品视图中添加选项卡
- 'stock' ---------------- 要在库存视图中添加选项卡
- 'propal' --------------- 要在报价单视图中添加选项卡
- 'member' ------------ 要在基金会会员视图中添加选项卡
- 'contract' ------------ 要在合同视图中添加选项卡
- 'user' ----------------- 要在用户视图中添加选项卡
- 'group' --------------- 要在组视图中添加选项卡
- 'contact' ------------- 要在联系人视图中添加选项卡
- 'bank' ---------------- 要在银行视图中添加选项卡
- 'categories_x' ------ 要在类别视图中添加选项卡('x'的值:0=product, 1=supplier, 2=customer, 3=member)
- 'member_stats', 'order_stats', 'supplier_order_stats', 'invoice_stats', 'supplier_invoice_stats', 'trip_stats', 'propal_stats' ------- 要在元素的统计视图中添加选项卡
- 'member_admin', 'company_admin', 'product_admin' --- 用于管理页面
2) 要添加自己的选项卡,请创建模块及其描述符文件。请参阅 模块开发 页面。
3) 然后,在文件描述符中,编辑 $this->tabs 属性,按照以下语法添加选项卡:
$this->tabs = array(
'objecttype:+tabname:TitleOfTab:@mymodule:$conditiontoshowtab:urloftab?id=__ID__'
);
这是一个由5或6个部分组成的字符串(取决于您是否选择使用$conditiontoshowtab),用 : 分隔。
其中:
- objecttype ------------------- 是您将修改的页面的对象类型代码。
- +tabname -------------------- 是您为自己的选项卡选择的标识名称,前面是操作('+' 添加或 '-' 删除,您也可以删除其他选项卡,包括默认选项卡)。
- TitleOfTab ------------------- 是您为自己的选项卡选择的标题,它将被翻译。
- @mymodule --------------- 是翻译选项卡标题时使用的语言文件(如: mytitlelang@mymodule ,将会查找 /htdocs/mymodule/langs/xx_XX/mytitlelang xx_XX 是当前语言如:en_US,fr_FR等等)。
- $conditiontoshowtab --- 是一个变量或者表达式,将被评估以获取其值:为true则显示选项卡,为false则不显示选项卡。例如:您可以使用 Dolibarr 权限系统(如:$user->rights->product->creer or $user->admin)或任何其它您想要的变量。这部分是可选的,您可以跳过它并在此字符串中只保留 5 个部分(不要忘记 : 号也要删除)。
- urloftab?id=__ID__ ------ 是单击选项卡时将指向的URL。您可以使用占位符__ID__。如果定义了 id 的值,该占位符将被替换为 id 的值。如:DOL_DOCUMENT_ROOT.'/mymodule/lib/mytab.php'
示例:
$this->tabs = array(
'product:+tabname1:Title1:@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1 in objecttype product (Products/Services)
'product:+tabname2:Title2:@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2 in objecttype product (Products/Services)
);
4) 激活此模块
5) 测试在对象页面中的新选项卡是否出现,链接是否能正确打开页面
删除现有选项卡
该过程与添加选项卡的过程相同,但在描述符文件的 $this->tabs 数组中使用以下语法:
$this->tabs = array(
'objecttype:-tabnametobedeleted'
); // To remove an existing tab identified by code tabnametobedeleted
注意:在这种情况下不需要其他参数。
要查找现有选项卡的“tabname”名称,请参阅相应“core/lib/module.lib.php”文件的“product_prepare_head”函数中使用的名称,其位于“$head[$h][2]”部分。
如何确定您要删除的选项卡的名称
- 打开浏览器的开发者工具。
- 单击选择元素按钮
- 在窗口中选择你要删除的Dolibarr选顶卡。
- 在开发者工具中查看 tab 属性
用您的选项卡替换选项卡
只需执行“添加您自己的选项卡”和“删除现有选项卡”步骤。如果添加的选项卡标题与删除的选项卡标题相同,则错觉将是完美的。
在自己的页面中显示选项卡
有关如何在自己的页面中显示选项卡的更多信息,请参阅 模块开发 。