Sistema de pestañas

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

El sistema de pestañas Dolibarr

Dolibarr muestra la información de un elemento (factura, almacén, usuario, etc.) como una vista compuesta generalmente de varias pestañas.ets.

Es posible añadir sus propias pestañas, incluso eliminar o reemplazar las existentes.

Para añadir su pestaña

1) En un primer paso, debe identificar el tipo del objeto y su código 'objecttype' al que hay que añadir, eliminar o suprimir la pestaña. Son estos:

  • '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.

2) Para añadir su própia pestaña, crear un módulo y su archivo descriptor. Para ello vea la página Desarrollo de un módulo.

3) Dentro del archivo descriptor editar la propiedad this->tab para añadir su pestaña, siguiendo la sintaxis:

$this->tabs = array(
'objecttype:+tabname:TitleOfTab:@mymodule:conditiontohavetab:urlfortab?id=__ID__'
);

Ejemplo:

$this->tabs = array(
'objecttype:+tabname1:Title1:@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__',     // Para añadir una pestaña en el objeto de tipo objecttype, pestaña identificada por el id tabname1
'objecttype:+tabname2:Title2:@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__',  // Para añadir una pestaña en el objeto de tipo objecttype, pestaña identificada por el id tabname2
);

4) Activar el módulo.

5) Comprobar que la nueva pestaña aparece y que el enlace abre su página.

Para eliminar una pestaña existente

El proceso es el mismo que el de añadir una pestaña, con la salvedad que en el array del descriptor debe seguir la sintaxis:

$this->tabs = array(
'objecttype:-tabname'
);                                                     // Para eliminar una pestaña existente identificada por el id tabname

Para reemplazar una pestaña por la suya

Acaba de ver como "Añadir su pestaña" y el proceso para "Eliminar una pestaña existente". Si su nueva pestaña tiene el mismo título que la elimina, el efecto es perfecto.

Mostrar pestañas en sus páginas

Vea la página Desarrollo de un módulo