addStyleSheet & addScript for header

Comment ajouter des link stylesheet et/ou des scripts dans le header a partir d’un module?
Au lieu de la fonction top_httphead/top_htmlhead/…, créez une classe document ou html puis lui implémenter ses Getting and Setting. Ensuite implémentez une tpl (au vrai sens) dans le thème même et nettoyer le fichier main.inc.php de tout ces codes html…
Les thèmes seront beaucoup plus propre et flexibles. Le dev des modules aussi. Et vous rapprochez du mvc donc la surcharge et override.

Désolé d’être exigeant, je fais mes propres remarques selon mes expériences et à vous de voir… en tout cas c’est dans l’intérêt du projet dolibarr
cdt

Bonjour,

je pense que veux dire quelque chose mais c’est pas très claire… si un script/stylesheet est lié au module alors tu le déclare dans core/module/mod … .php
dans les autre cas ils n’ont peut être aucun rapport avec une classe précise mais simplement avec un page ‹ vue › d’ou l’utilité de de les mettre dans le header.

Pour les tpl, donne des références qui explique ce que tu entends .

bien à toi

Bonjour,
L’objectif est d’éviter les codes javascript et css dans les pages html (gain en rapidité d’affichage, en maintenance, compression,…)
On va pas inventer les moteurs des tpl…
Exemple inspirée d’autres projets sur lesquels j’ai travaillé…

[code]

[/code]

Bonjour,

Même sans aller vers le tpl, des fonctions js mieux faite pourraient être générique et ne pas être dans les page HTML. Par exemple, aujourd’hui à chaque selectbox ajax (fonction ajax_autocompleter) le « même » code js est injecté dans la page html.

Bien à toi

Bonjour :happy:

Je lis de +en+ de remarque sur mvc ici ou sur github je pense que au lieu de toujours dire c’est nul le code n’est plus à la mode ou tendance ce qu’il faudrait faire :

[ul]
[li]arrêter ce genre de post[/li]
[li]faire un café[/li]
[li]poster un PR de son code sur github afin de lancer la machine…[/li]

[/ul]ps : @wdammak ce message n’est pas contre toi :wink: mais un message général :sunglasses:

Voici un exemple :


tout le monde critique mais personne code…

Il faut d’abord de la conviction et de la volonté des responsables de dev de prendre ce chemin.
Ce processus est certes très long mais inévitable!
Il y a plusieurs méthodes pour migrer, mes remarques et suggestions sur certaines fonctionnalités/components/modules/classes c’est de préparer cette migration en douceur et étape par étape.
Celui qui pilote le projet doit ouvrir une discussion pour élaborer l’architecture d’une future version majeur (V9 par exemple) sur laquelle la communauté peut participer et aider.

:happy: Si tu as des idées et modèles de dev je pense que la team sera contente Le tout c’est de ne pas rester sur des idées jamais programmées.

d’abord on se met d’accord sur une organisation de base ?

org_dol9.jpg

Bonjour :happy:
je laisse libre court à ton imagination car niveau mvc… :whistle:

Se mettre d’accord aussi sur le fait qu’un module permet juste d’afficher des données connexes d’un ou plusieurs component.
Donc les modules actuelles devrait être déplacer dans le dossier components et les modules boxes (core/boxes) dans le dossier modules. Les plugins sont un peu comme les triggers, des petits meubles qui s’intègre dans les components et les modules (le cas de numberwords).
Structure d’un component selon le model MVC :

dol_components.png

comp_users.png
coté admin, les dossiers layouts, tables, sql à ajouter


et niveau programmation c’est comment un objet d’un coté et l’appel de l’objet dans le template ?

@dolibarr95 :
Pas très claire ta question…
Le contrôleur configure les données(models) pour la vue (view). La vue devrait être responsable de la mise en page (layouts) de la page. Le view donc avant affichage il regarde dans le dossier tpl s’il existe une template lui concerne pour lui assigne les données sinon il a son propre générateur html (généralement une fonction display ou un fichier html dans le dossier du view : view.html.php). Il y a d’autres approches de MVC/tpl, le controller après la phase de récupération des données, il crée le view puis choisit le tpl selon l’action de l’utilisateur.

1 « J'aime »

Merci pour ces précisions :wink:

Avec plaisir, mais bon va falloir qu’un dev dolibarr pilote le projet et je ferais de mon max de les aider et participer (même si je ne suis plus du milieu informatique que j’ai quitté depuis des années!)

Bonjour :happy:
Le mieux serait sans doute de proposer ici une roadmap je pense :

Merci
Je viens de lire les discussions sur git, donc, il semble que actuellement eldy (très actif sur le forum EN et s’est désabonnée de ce forum :happy: ) n’est pas pour l’évolution vers MVC…
Sans pilotage de projet dans ce sens rien n’aboutira car même si la communauté développera une nouvelle version sans être certaine d’être adopter au final ça n’encourage personne de s’engager en quoi qu’il soit…

print('you must to wait.... eldy to hate me (print) ... :)');
1 « J'aime »

Il faudrait alors créer un topic sur https://www.dolibarr.org/forum

juste pour info par rapport au début du fil de discussion, la fonction llxHeader peut recevoir en paramètres des tableaux de scripts javascripts et de feuilles de styles css à inclure sur la page.

pour le reste… good luck :wink: