10
edits
No edit summary |
(→File:Art.png Ajouter vos onglets sur les fiches entités (optionnel): Ajout d'une section pour l'affichage des onglets existant sur de nouvelles pages) |
||
| Line 75: | Line 75: | ||
Un fichier '''out.nomtable_script.php''' a également été généré et contient un exemple de code pour utiliser la classe pour chacune des 4 méthodes CRUD. | Un fichier '''out.nomtable_script.php''' a également été généré et contient un exemple de code pour utiliser la classe pour chacune des 4 méthodes CRUD. | ||
= [[File:Art.png]] Ajouter vos onglets sur les fiches entités | = [[File:Art.png]] Affichage des onglets (optionnel) = | ||
'''Quand''': Pour ajouter un onglet sur une fiche entité (facture, commande, proposition commercial, adhérent...) | |||
== Ajouter vos onglets sur les fiches entités == | |||
'''Quand''' : Pour ajouter un onglet sur une fiche entité (facture, commande, proposition commercial, adhérent...) | |||
Pour cela, aller dans le fichier descripteur de module précédemment créé et modifier le tableau $this->tabs: | Pour cela, aller dans le fichier descripteur de module précédemment créé et modifier le tableau $this->tabs: | ||
| Line 113: | Line 115: | ||
Pour alimenter le contenu de l'onglet avec des données issues de la base, voir le chapitre suivant. | Pour alimenter le contenu de l'onglet avec des données issues de la base, voir le chapitre suivant. | ||
== Ajouter les onglets d'une fiche entité sur ses propres pages == | |||
'''Quand''' : Pour afficher les mêmes onglets qu'une fiche entité (produit, tiers, etc.) sur vos IHM. | |||
Il faut appliquer la procédure suivante : | |||
'''1. Inclure les fichiers définissant les fonctions utiles dans vos fichiers''' | |||
Pour chaque fiche entité, il y a deux fichiers à inclure avec l'instruction | |||
<source lang="php">require_once($url_fichier) ;</source> | |||
Voici la liste de ces fichiers (DOL_DOCUMENT_ROOT correspond au dossier dolibarr/htdocs/) : | |||
* Entité tiers (thirdparty) : | |||
** DOL_DOCUMENT_ROOT/societe.class.php | |||
** DOL_DOCUMENT_ROOT/lib/company.lib.php | |||
* Entité produit (product) : | |||
** DOL_DOCUMENT_ROOT/product.class.php | |||
** DOL_DOCUMENT_ROOT/lib/product.lib.php | |||
* Entité facture (invoice) : | |||
** ''À compléter'' | |||
'''2. Créer un objet correspondant à l'entité voulue''' | |||
Créer un objet de la classe voulue, et récupérer les données de l'objet à partir de la base de données. Pour cela il faut utiliser les fonctions fetch($id) de la classe correspondante, en passant en paramètre l'identifiant de l'objet à récupérer. | |||
Il faudrait donc avoir passé cet identifiant dans l'url (ex : view.php?id=1). | |||
''Exemple :'' | |||
<source lang="php"> | |||
$product = new Product($db) ; | |||
$result = $product->fetch($id) ; //Tester $result pour vérifier que l'accès à la base s'est bien passé | |||
</source> | |||
'''3. Préparer la liste des onglets correspondants à l'entité choisie''' | |||
Utiliser la fonction XX_prepare_head($obj), ou XX est le nom de l'entité, permettant de créer un tableau contenant les définitions des onglets à afficher. Le paramètre à passer est l'objet pour lequel vous voulez afficher les onglets. | |||
Le tableau retourné est composé de la façon suivante : | |||
<source lang="php"> | |||
$head // Tableau des onglets | |||
$head[$h] // Élément décrivant un onglet. Il y aura autant de $h que d'onglets à afficher | |||
$head[$h][0] // Url de la page affichée quand on clique sur l'onglet | |||
$head[$h][1] // Titre de l'ongLet | |||
$head[$h][2] // Code de l'onglet, à utiliser pour choisir quel onglet sera 'actif' (voir paragraphe suivant) | |||
</source> | |||
''Exemple :'' | |||
<source lang="php"> | |||
$head = product_prepare_head($product, $user) ; //le paramètre $user n'est pas présent sur certaines fonctions | |||
</source> | |||
'''4. Afficher les onglets''' | |||
Utiliser la fonction dol_fiche_head() qui affiche les onglets contenus dans le tableau $head retourné par XX_prepare_head(). | |||
<source lang="php"> | |||
dol_fiche_head($links, $active='0', $title='', $notab=0, $picto='') | |||
$links // Tableau des onglets, appelé $head plus haut. | |||
$active // Onglet actif (mettre le nom de l'onglet défini dans votre fichier de module, ou un nom contenu dans $head[$h][2]). Cet onglet sera mis en surbrillance | |||
$title // ? | |||
$notab // Mettre ce paramètre à 1 permet de ne pas afficher de zone bleue en dessous des onglets. | |||
$picto // Nom de l'image à utiliser au début de la barre des onglet. Les choix suivant sont possibles : | |||
// product | |||
// service | |||
// company | |||
</source> | |||
Cette fonction affiche les onglets voulus et ouvre un élément <div class=''> qui correspond à la zone bleue sous les onglets (si paramètre $notab = 0). Pour fermer la zone bleue, il suffit de fermer l'élément (</div>) dans le code PHP. | |||
''Remarque'' | |||
Pour plus de détail, se référer à la [http://www.dolibarr.fr/doxygen/ documentation Doxygen] ou directement au code de Dolibarr. | |||
= [[File:Art.png]] Créer vos pages écran PHP (optionnel) = | = [[File:Art.png]] Créer vos pages écran PHP (optionnel) = | ||
edits