[résolu] Ajout d'un onglet pour la fiche client.

Bonjour,

Je développe un nouveau module qui doit être attaché à la fiche client. Pour que l’accès à ce module soit effectué par un nouvel onglet dans l’espace client et d’après le wiki je dois ajouter dans le fichier descripteur de module

//new pages on tabs
$this->tabs = array(Code entité:Titre onglet:Lang file:url page)

Dans le wiki les code entités sont ‹ product ›,‹ invoice ›,‹ order ›,‹ supplier_order ›,‹ supplier_invoice ›. Quel est le code pour la fiche client ?

Merci
@+
Jef

Re-bonjour,

Après étude du code (Dolibarr 2.5), je vois que la fonction n’a pas été prévu pour la fiche client.

Je modifie le fichier comm/company.lib.php en ajoutant ce bloc que j’ai récupéré de invoice.lib.php et que j’ai adapté.

	if (is_array($conf->tabs_modules['customer']))
	{
		$i=0;
		foreach ($conf->tabs_modules['customer'] as $value)
		{
			$values=split(':',$value);
			if ($values[2]) $langs->load($values[2]);
			$head[$h][0] = eregi_replace('__ID__',$objsoc->id,$values[3]);
			$head[$h][1] = $langs->trans($values[1]);
			$head[$h][2] = 'tab'.$values[1];
			$h++;
		}
	}

Du coup dans mon module je peux :
$this->tabs = array(‹ customer:MonModule:@MonModule:/dolibarr/MonModule/fiche.php?id=ID ›);

Après désactivation et activation de Monmodule, j’ai le nouvel onglet dans la fiche client.

Mais bon ,j’ai modifié le code de la version ce que je ne voulais pas faire car je m’écarte de la version maintenue…

@+

Jef

J’ai intégré en CVS la modif. Toutefois le code a été renommé, il s’agit de ‹ thirdparty › et non de ‹ customer ›

// Show more tabs from modules
// Entries must be declared in modules descriptor with line
// $this-\>tabs = array('entity:MyModule:@mymodule:/dolibarr/mymodule/mypage.php?id=__ID__');
if (is_array($conf-\>tabs_modules['thirdparty']))
{
    $i=0;
    foreach ($conf-\>tabs_modules['thirdparty'] as $value)
    {
        $values=split(':',$value);
        if ($values[2]) $langs-\>load($values[2]);
        $head[$h][0] = eregi_replace('__ID__',$objsoc-\>id,$values[3]);
        $head[$h][1] = $langs-\>trans($values[1]);
        $head[$h][2] = 'tab'.$values[1];
        $h++;
    }
}