web-dev-qa-db-fra.com

Si je veux inclure globalement un framework en dehors de jQuery?

Je sais que je peux utiliser la plupart des éléments de cette documentation tels que jQuery

https://docs.joomla.org/J3.x:Javascript_Frameworks

en faisant quelque chose de simple comme ceci JHtml::_('jquery.framework', false);

Cependant, disons que je veux utiliser React , je sais que je peux l'inclure en utilisant addScript mais que faire si je voulais l'utiliser pour plusieurs modules/plugins/composants. Existe-t-il un moyen de le rendre mondialement disponible comme jQuery?

2
Eoin

Oui. Ce sera court - vous devez comprendre le code avec lequel vous travaillez, car cette technique est l'une des plus puissantes que Joomla vous offre et il n'y a fondamentalement aucune documentation à part le code lui-même, alors ne le faites qu'après le suivi à travers le code et comprendre les ramifications.

HTMLHelper a une méthode d'enregistrement que vous pouvez appeler pour enregistrer une routine de votre choix.

JHtml::register('react', MyClass::loadReact)

Une fois que ceci est exécuté, tout appel à JHtml :: _ ('react') exécutera la méthode loadReact dans la classe MyClass. L'idée de base est qu'il conserve une liste de clés qui pointent vers les méthodes qu'il doit appeler, dont aucune n'est requise pour être membre de lui-même. Puis, lorsqu'on lui demande d'appeler cette clé, il la recherche et l'exécute. C'est le même mécanisme utilisé pour charger bootstrap et jquery aujourd'hui.

2
Arlen