Changes

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 : Tabs_system -->
 +
[[en:Tabs_system]]
 +
[[fr:Système_d'onglets]]
 +
[[es:Sistema_de_pestañas]]
 +
<!-- END interlang links -->
 +
 
[[Category:Core]]
 
[[Category:Core]]
 +
[[Category:开发]]
 +
{{Template开发文档}}
 
{{Template用户手册}}
 
{{Template用户手册}}
 
{{TemplateMainPageZh}}
 
{{TemplateMainPageZh}}
   −
= Dolibarr选项卡 =
+
=Dolibarr选项卡系统=
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) 要添加自己的选项卡,请创建模块及其描述符文件。请参阅 [[模块开发]] 页面。
1) 首先, 必须标识选项卡所涉及的对象类型及其对象类型代码。这是完整的列表:
  −
* 'thirdparty'      to add a tab in third party view
  −
* 'intervention'    to add a tab in intervention view
  −
* 'supplier_order'  to add a tab in supplier order view
  −
* 'supplier_invoice' to add a tab in supplier invoice view
  −
* 'invoice'          to add a tab in customer invoice view
  −
* 'order'            to add a tab in customer order view
  −
* 'product'          to add a tab in product view
  −
* 'stock'            to add a tab in stock view
  −
* 'propal'          to add a tab in propal view
  −
* 'member'          to add a tab in fundation member view
  −
* 'contract'        to add a tab in contract view
  −
* 'user'            to add a tab in user view
  −
* 'group'            to add a tab in group view
  −
* 'contact'          to add a tab in contact view
  −
* 'categories_x'    to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
  −
* 'member_stats', 'order_stats', 'supplier_order_stats', 'invoice_stats', 'supplier_invoice_stats', 'trip_stats', 'propal_stats' to add a tab in statistic view of elements.
  −
* 'member_admin', 'company_admin', 'product_admin' for admin pages
     −
2) 然后添加您的选项卡,创建一个新的模块文件。见 [[模块开发]] 。
+
3) 然后,在文件描述符中,编辑 $this->tabs 属性,按照以下语法添加选项卡:
   −
3) 然后进入描述符文件,编辑$this->tab,使用以下语法添加选项卡:
   
<source lang="php">
 
<source lang="php">
 
$this->tabs = array(
 
$this->tabs = array(
Line 37: Line 51:  
</source>
 
</source>
   −
这是一个由5或6个元素组成的字符串(取决于你是否选择使用$conditiontoshowtab),用''''''分隔。
+
这是一个由5或6个部分组成的字符串(取决于您是否选择使用$conditiontoshowtab),用 ''':''' 分隔。
   −
这里:
+
其中:
* objecttype 是您将使用的Tab的名称。
  −
* +tabname 是一个名称来标识您的选项卡,前面是动作(+ 添加或 - 删除,您可以删除其他选项卡,包括默认的)。
  −
* TitleOfTab 是一个你选择的标题,它将被翻译。
  −
* @mymodule 是语言文件,里面是翻译条目。 (如: mytitlelang@mymodule 会查找 '''/htdocs/mymodule/langs/xx_XX/mytitlelang'''  ''' xx_XX''' 是当前语言如: en_US, fr_FR, etc.).
  −
* $conditiontoshowtab 是否显示: 是真则显示,假则不显示。如: you can use the Dolibarr rights system, eg: $user->rights->product->creer or $user->admin or any other variable you want. 此项是可选项,跳过也是可以的。不要忘记分号也要删除。
  −
* urloftab?id=__ID__ 是选项卡指向的URL。使用占位符 __ID__ 替代'''id'''。如:DOL_DOCUMENT_ROOT.'/mymodule/lib/mytab.php'
      +
*'''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'
 +
 +
示例:
   −
例如:
   
<source lang="php">
 
<source lang="php">
 
$this->tabs = array(
 
$this->tabs = array(
Line 56: Line 71:  
</source>
 
</source>
   −
4) 激活模块
+
4) 激活此模块
   −
5) 测试新选项卡
+
5) 测试在对象页面中的新选项卡是否出现,链接是否能正确打开页面
 +
 
 +
=删除现有选项卡=
 +
该过程与添加选项卡的过程相同,但在描述符文件的 $this->tabs 数组中使用以下语法:
   −
= 删除现在的选项卡 =
  −
删除选项卡的操作与添加选项卡相同,在模块文件的tabs数组中使用以下语句:
   
<source lang="php">
 
<source lang="php">
 
$this->tabs = array(
 
$this->tabs = array(
Line 70: Line 86:  
注意:在这种情况下不需要其他参数。
 
注意:在这种情况下不需要其他参数。
   −
== 如何确定你要删除的选项卡的名称==
+
要查找现有选项卡的“tabname”名称,请参阅相应“core/lib/module.lib.php”文件的“product_prepare_head”函数中使用的名称,其位于“$head[$h][2]”部分。
 +
 
 +
==如何确定您要删除的选项卡的名称==
 +
 
 +
*打开浏览器的开发者工具。
 +
*单击选择元素按钮
 +
*在窗口中选择你要删除的Dolibarr选顶卡。
 +
*在开发者工具中查看 tab 属性
   −
111
+
[[File:企业微信截图 20180829160108.png|800px]]
   −
= 替换选项卡 =
+
=用您的选项卡替换选项卡=
执行 "添加选项卡" 和 "删除现在的选项卡"。如果新标签的标题与删除的标题相同,则错觉是完美的。
+
只需执行“添加您自己的选项卡”和“删除现有选项卡”步骤。如果添加的选项卡标题与删除的选项卡标题相同,则错觉将是完美的。
   −
= 将标签显示在自己的页面中 =
+
=在自己的页面中显示选项卡=
更多关于如何在页面中显示标签的信息在页面上可用。
+
有关如何在自己的页面中显示选项卡的更多信息,请参阅 [[模块开发]]
[[Module_development#The_tab_management]]
 
714

edits