Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi
  • Page :
  • 1
  • 2

SUJET : Modifications du code par override/surcharge

Modifications du code par override/surcharge il y a 2 ans 4 mois #81744

  • alexconte
  • Portrait de alexconte
  • Hors ligne
  • Fresh Boarder
  • Messages : 11
  • Karma: 0
Bonjour à tous,

Je suis un utilisateur de Dolibarr depuis maintenant 2 ans et je suis vraiment satisfait.
Etant dév PHP j'avoue que je peux le personnaliser à loisir et c'est super. Je rencontre des petits bugs que je corrige et je vais essayer de participer à l'amélioration dorénavant!
Le seul hic, c'est la mise à jour.

Ma question a peut-être déjà été posée mais je n'ai rien trouvé alors voilà.

J'ai fait beaucoup de petits ajustements pour moi (affichage de couleur différentes selon les status des devs et factures, tri des produits par label,etc...).
Ces modifs sont trop légères pour faire un module et je les fais donc dans les fichiers de base.
Existe-t-il une procédure pour surcharger les fichiers de base?

Merci d'avance de vos réponses!

Alexandre
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 ans 4 mois #81745

  • Thomas O
  • Portrait de Thomas O
  • Hors ligne
  • Fresh Boarder
  • Messages : 10
  • Remerciements reçus 3
  • Karma: 0
Je me posais la même question (pour les mêmes raisons).
Est-ce qu'en créant ton propre dépôt et en fusionnant lors des mises à jour de versions, il n'y aurait que les conflits à résoudre ? (j'ai une très mauvaise connaissance de git)
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 ans 4 mois #81746

  • alexconte
  • Portrait de alexconte
  • Hors ligne
  • Fresh Boarder
  • Messages : 11
  • Karma: 0
Et bien je suis en train de faire l'expérience justement et tu t'en sors avec Git qui te montre les différences dans les fichiers mais bon, c'est un peu lourd en maintenance :D
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 ans 4 mois #81751

  • defrance
  • Portrait de defrance
  • Hors ligne
  • Gold Boarder
  • Dev-Leader des patas-monkey
  • Messages : 3359
  • Remerciements reçus 655
  • Karma: 131
Hello
il y a 3 voix possible quand on souhaite aménager dolibarr
1 - porter son évolution directement dans le core en espérant être convainquant sur son utilité
2 - crée un module de toute pièce ou utiliser un module permettant d'arriver à ses fins (myfields et customtabs permettent de faire pas mal de chose en terme d'onglet et relooking d'onglet natif...)
3 - créer un hook ou un trigger quand c'est possible (si il y a un appel à l'un des deux)

Derniere Quand il n'est pas possible de faire autrement qu'une surcharge,
myfield permet aussi de "feinter" au niveau des menus/onglets en remplaçant les url natives, cela permet de rediriger vers sa propre page modifiées que l'on place dans le dossier custom.
Un de mes clients c'est ainsi fait une page intermédiaire à la création de produit où il redéfinie sa référence produit (impossible de faire autrement) : le menu "nouveau produit" le redirige vers une page intermédiairede création de la ref produit puis à la validation, il retourne à l'onglet natif
Il reste ensuite à l'adapter au besoin lors des montés de version mais au moins on n'écrase/perd pas son code...
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 ans 4 mois #81769

  • alexconte
  • Portrait de alexconte
  • Hors ligne
  • Fresh Boarder
  • Messages : 11
  • Karma: 0
Salut,

Merci beaucoup pour cette réponse très complète.
1 - ça se passe comment? par le git?
2 - je vais regarder myfileds
3 - j'ai étudié cette voie mais cela ne semblait pas correspondre. Après j'avoue que certains points techniques de Dolibarr m'échappe ^^
4 - Excellente suggestion que je garde à l'esprit

Dernière question, je ne veux pas abuser de ton temps sachant que le système est gratuit mais avant de me lancer dans le dev c'est possible que je crée un topic pour expliquer mon objectif et avoir quelques conseils?

Encore merci ;)
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 ans 4 mois #81775

  • defrance
  • Portrait de defrance
  • Hors ligne
  • Gold Boarder
  • Dev-Leader des patas-monkey
  • Messages : 3359
  • Remerciements reçus 655
  • Karma: 131
alexconte écrit:
Salut,

Merci beaucoup pour cette réponse très complète.
1 - ça se passe comment? par le git?
2 - je vais regarder myfileds
3 - j'ai étudié cette voie mais cela ne semblait pas correspondre. Après j'avoue que certains points techniques de Dolibarr m'échappe ^^
4 - Excellente suggestion que je garde à l'esprit
1 - Oui, personnellement j'effectue directement les petites retouches (ce qui constitue presque la totalité de mes correctifs) par l'interface web, pour des choses plus conséquentes, il faut utiliser un truc plus local sur ton poste
2 - il y a une documentation et notre environnement de démo si besoin
3- le forum et le wiki sont là pour cela, même si rien ne vaux mieux qu'un peu de reverse ingenering (lire dans le code comment c'est fait)alexconte écrit:
Dernière question, je ne veux pas abuser de ton temps sachant que le système est gratuit mais avant de me lancer dans le dev c'est possible que je crée un topic pour expliquer mon objectif et avoir quelques conseils?
Encore merci ;)
C'est le but d'un forum il parait ....
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 6 mois 1 semaine #105209

  • making-digital
  • Portrait de making-digital
  • Hors ligne
  • Junior Boarder
  • Messages : 28
  • Remerciements reçus 1
  • Karma: 0
Bonjour,

Je cherche à savoir comment surcharger une fonction de classe dans htdocs/core/html.form.class.php notamment la fonction constructProductListOption. Je voudrais faire un module qui permette de configurer un peu plus cette fonction.

Puis-je remplacer le comportement natif par celle de la fonction que je souhaite développer ?
Dernière édition: il y a 6 mois 1 semaine par making-digital.
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 6 mois 2 jours #105505

  • making-digital
  • Portrait de making-digital
  • Hors ligne
  • Junior Boarder
  • Messages : 28
  • Remerciements reçus 1
  • Karma: 0
Personne ?
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 6 mois 2 jours #105507

  • alexconte
  • Portrait de alexconte
  • Hors ligne
  • Fresh Boarder
  • Messages : 11
  • Karma: 0
Hello,
J'ai eu une notif car c'est mon post au départ ^^
Au final je surcharge direct dans le code ou je fais des modules ou j'utilise les triggers et je ne fais pas les mises à jour...
Si c'est pour de l'utilisation perso ça va bien, si c'est pour de la revente et bien faut éviter.
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 6 mois 2 jours #105509

  • fappels
  • Portrait de fappels
  • Hors ligne
  • Senior Boarder
  • Messages : 65
  • Remerciements reçus 14
  • Karma: 1
Bonjour,

constructProductListOption est une methode prive.

Si vous voulez votre propre methode, vous doit override le objectline_create.tpl.php dans votre module/core/tpl. dans ce tpl vous faites votre html.form class avec votre constructProductListOption dans module/class. Pour active votre tpl vous set 1 pour le tpl dans votre module config.

$this->module_parts = array(
'triggers' => 1, // Set this to 1 if module has its own trigger directory (core/triggers)
'login' => 0, // Set this to 1 if module has its own login method file (core/login)
'substitutions' => 1, // Set this to 1 if module has its own substitution function file (core/substitutions)
'menus' => 0, // Set this to 1 if module has its own menus handler directory (core/menus)
'theme' => 0, // Set this to 1 if module has its own theme directory (theme)
'tpl' => 1, // Set this to 1 if module overwrite template dir (core/tpl)
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 mois 1 semaine #110365

  • making-digital
  • Portrait de making-digital
  • Hors ligne
  • Junior Boarder
  • Messages : 28
  • Remerciements reçus 1
  • Karma: 0
Bonjour, je réponds tard car je n'ai pas coché la notification du sujet. Je n'arrive pas surcharger un tpl.Notamment card_presend.tpl.php que je mets dans mon modules dans nommodule/core/tpl/card_presend.tpl.php et même avec tpl à 1 dans la configuration du module, cela ne fonctionne pas.

Je précise que j'ai réactivé et désactivé :(
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 mois 1 semaine #110382

  • fappels
  • Portrait de fappels
  • Hors ligne
  • Senior Boarder
  • Messages : 65
  • Remerciements reçus 14
  • Karma: 1
Bonjour,

C'est pas possible avec card_present, je vous conseille de demander une 'feature request' sur le dolibarr github.

Je vous advise, avant de override un core tpl de faire une recherche du tpl dans toute htdocs et voir que le $conf->modules_parts et utilise pour ce tpl.
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 mois 1 semaine #110383

  • making-digital
  • Portrait de making-digital
  • Hors ligne
  • Junior Boarder
  • Messages : 28
  • Remerciements reçus 1
  • Karma: 0
Merci pour la réponse, du coup je pensais à remplacer htdocs\expedition\card.php est-ce possible d'overrider ce fichier ? Il y a un include dans ce fichier vers le tpl que je pourrais dans ce cas changer.
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 mois 1 semaine #110386

  • fappels
  • Portrait de fappels
  • Hors ligne
  • Senior Boarder
  • Messages : 65
  • Remerciements reçus 14
  • Karma: 1
Avec le tabs module config vous pouvez remplacer le fiche par votre fiche
// Array to add new pages in new tabs
$this->tabs = array();
// Example:
// $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:[email protected]:$user->rights->xxx->read:/xxx/mynewtab1.php?id=__ID__');  					// To add a new tab identified by code tabname1
// $this->tabs[] = array('data'=>'objecttype:+tabname2:SUBSTITUTION_Title2:[email protected]:$user->rights->othermodule->read:/xxx/mynewtab2.php?id=__ID__',  	// To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key.
// $this->tabs[] = array('data'=>'objecttype:-tabname:NU:conditiontoremove');
// To remove an existing tab identified by code tabname
//
Dernière édition: il y a 2 mois 1 semaine par fappels.
L'administrateur a désactivé l'accès en écriture pour le public.

Modifications du code par override/surcharge il y a 2 mois 1 semaine #110399

  • making-digital
  • Portrait de making-digital
  • Hors ligne
  • Junior Boarder
  • Messages : 28
  • Remerciements reçus 1
  • Karma: 0
Merci je pense que je dois avoir un souci dans la syntaxe car cela ne fait rien du tout et ne remplace rien. Je dois avoir manqué quelque chose :
$this->tabs[] = array('data'=>'delivery:+test:Title1:[email protected]:$user->rights->blexport->read:/blexport/mynewtab1.php?id=__ID__');

Une idée ? Cela est pour remplacer expedition/card.php
Dernière édition: il y a 2 mois 1 semaine par making-digital.
L'administrateur a désactivé l'accès en écriture pour le public.
  • Page :
  • 1
  • 2