Développement Canvas
Les Canvas sont une fonctionnalité développeur pour remplacer les formulaires de création, mise à jour ou affichage des objets (produits, tiers, contacts, ...).
Par exemple, vous pouvez remplacer le formulaire de saisie pour la création d'un nouveau tiers ou le formulaire d'édition ou d'affichage pour le visualiser.
Conditions
Les fonctions Canvas sont disponibles avec la version 3.2 ou supérieur.
C'est pour le moment disponible pour les objets suivants :
- formulaire de création des produits, contacts et tiers
- formulaire d' édition des produits, contacts et tiers
- onglet de visualisation tab des produits, contacts et tiers. Dans la plupart des cas, c'est seulement le premier onglet lorsque vous visualisez l'objet qui est supporté. Mais vous pouvez aussi jeter un oeil à la page Développement module pour savoir comment désactiver ou ajouter des onglets si vous voulez vraiment intervenir sur les autres onglets également.
Remplacer le formulaire de création avec votre page canvas
La première chose à faire est de trouver l'URL du formulaire de création standard à remplacer et d'ajouter le paramètre canvas = mycanvas @ mymodule . Pour trouver l'URL, vous pouvez aller sur la page et obtenir l'URL trouvée en haut de votre navigateur.
Par exemple, imaginons que vous souhaitiez remplacer le formulaire de création de tiers par votre propre formulaire. L'URL est quelque chose comme
http: //mydomain/societe/soc.php? action = create & leftmenu = clients
Après avoir ajouté le paramètre canvas, l'URL ressemblera à
http: //mydomain/societe/soc.php? action = create & leftmenu = clients & canvas = mycanvas @ mymodule
Lorsque vous ajoutez un paramètre canvas = mycanvas @ mymodule sur une page de création, Dolibarr utilisera le fichier de modèle dans htdocs appelé
/ mymodule / canvas / mycanvas / tpl / nom de tabulation _create.tpl.php
où
- Le répertoire mymodule est la valeur mymodule trouvée dans le paramètre canvas (vous choisissez cette valeur et créez un répertoire avec la même valeur. utilisez des valeurs en minuscule).
- mycanvas est la valeur mycanvas trouvée dans le paramètre canvas (vous choisissez cette valeur et créez un répertoire avec la même valeur. utilisez une valeur minuscule).
- nom_table est le nom de l'onglet ou de la page où le formulaire initial a été stocké. Dans la plupart des cas c'est une valeur "carte".
Par exemple, nous allons utiliser la valeur " company @ societe " pour le paramètre canvas. Il s'agit d'une valeur d'un modèle de canevas de démonstration déjà codé pour des tiers, non utilisée dans un usage standard de Dolibarr mais fournie en tant que "démo". Donc, l'URL pour créer un tiers en utilisant ce modèle alternatif est maintenant:
http: //mydomain/societe/soc.php? action = create & leftmenu = clients & canvas = company @ societe
Cela signifie que le formulaire pour créer le tiers sera trouvé dans le fichier modèle:
/societe/canvas/company/tpl/card_create.tpl.php
Donc, pour utiliser votre propre modèle, choisissez simplement une valeur pour mymodule , mycanvas , copiez et collez un modèle de démonstration trouvé dans les répertoires Dolibarr avec un nouveau répertoire et un nouveau nom de fichier, puis modifiez le modèle comme vous le souhaitez. Le modèle contient toute la partie sous le menu du haut et à droite du menu de gauche. Vous pouvez modifier l'apparence, l'ordre des champs, ajouter vos contrôles javascript, supprimer ou ajouter vos propres champs. La seule exigence est de conserver les champs obligatoires du même nom pour éviter les erreurs lors de l'envoi de la page. Les champs supprimés seront remplis avec null ou 0 dans la base de données. Les nouveaux champs pour le moment sont ignorés. Nous verrons plus tard comment ajouter du code pour les sauvegarder.
Ceci fait, vous devez maintenant ajouter la nouvelle URL de création dans les menus de Dolibarr ou remplacer celle existante par une nouvelle. Pour cela, consultez la page Menus_system .
Notez que lorsqu'un enregistrement est enregistré à l'aide d'un canevas, le nom du canevas mycanvas @ mymodule est également stocké dans la base de données. Ceci est important car cela signifie que Dolibarr sera en mesure de savoir que cet enregistrement est un canevas et non un autre. Il pourra donc suggérer une vue ou modifier un formulaire dédié à cet enregistrement uniquement et continuer à utiliser des formulaires standard pour d'autres enregistrements. Voir les chapitres suivants.
Remplacer un formulaire de modification par votre propre modèle
Utiliser votre propre formulaire de modification pour un enregistrement sauvegardé à l’aide de votre propre formulaire de création est aussi simple que d’ajouter un fichier appelé
/mymodule/canvas/mycanvas/tpl/tabname_edit.tpl.php
où
- Le répertoire mymodule est la valeur mymodule que vous avez utilisée comme paramètre de zone de travail pour créer un enregistrement (voir le chapitre précédent).
- mycanvas est la valeur mycanvas que vous avez utilisée comme paramètre de canevas pour créer un enregistrement (voir le chapitre précédent).
- nom_table est le nom de l'onglet ou de la page pour modifier l'enregistrement. Dans la plupart des cas c'est une valeur "carte".
Avec notre démonstration de toile company @ societe, le modèle de montage sera dans le fichier
/societe/canvas/company/tpl/card_edit.tpl.php
Notez que pour modifier, il n'est pas nécessaire de modifier l'URL. Dolibarr peut détecter que votre enregistrement est un enregistrement de canevas personnalisé et numériser automatiquement ce fichier de modèle pour l'afficher s'il est trouvé. Sinon, le formulaire standard sera utilisé. Donc, tout ce que vous avez à faire pour utiliser votre propre modèle d’édition est de copier et coller un fichier de modèle d’édition existant et de le renommer avec la valeur correcte de mymodule et de mycanvas et de l’éditer selon vos besoins. Comme pour la création, tous les champs obligatoires doivent être conservés pour éviter les erreurs lors de la soumission du formulaire pour enregistrer les modifications.
Remplacer un formulaire de vue par votre propre modèle
Utiliser votre propre formulaire de vue pour un enregistrement sauvegardé en utilisant votre propre formulaire de création est aussi simple que d’ajouter un fichier appelé
/mymodule/canvas/mycanvas/tpl/tabname_view.tpl.php
où
- Le répertoire mymodule est la valeur mymodule que vous avez utilisée comme paramètre de zone de travail pour créer un enregistrement (voir le chapitre précédent).
- mycanvas est la valeur mycanvas que vous avez utilisée comme paramètre de canevas pour créer un enregistrement (voir le chapitre précédent).
- nom_table est le nom de l'onglet ou de la page pour modifier l'enregistrement. Dans la plupart des cas c'est une valeur "carte".
Avec notre démonstration de toile company @ societe, le modèle de vue sera dans le fichier
/societe/canvas/company/tpl/card_view.tpl.php
Notez que pour l'affichage, il n'est pas nécessaire de changer d'URL. Dolibarr peut détecter que votre enregistrement est un enregistrement de canevas personnalisé et numériser automatiquement ce fichier de modèle pour l'afficher s'il est trouvé. Sinon, le formulaire standard sera utilisé. Donc, tout ce que vous avez à faire pour utiliser votre propre modèle de vue est de copier et coller un fichier de modèle de vue de démonstration existant et de le renommer avec la valeur correcte de mymodule et de mycanvas et de le modifier en fonction de vos besoins.