Vous pouvez également faire JHtml::stylesheet("mod_EXAMPLE/style.css", array(), true)pour charger media/mod_EXAMPLE/css/style.css(notez la css/partie supplémentaire ), et JHtml::script("mod_EXAMPLE/script.js", false, true)pour charger media/mod_EXAMPLE/js/script.js(notez la js/partie supplémentaire ).
Flimm
2
Je suppose que votre extension est un composant. La meilleure façon est de créer un mediarépertoire à côté de adminet des siterépertoires. Ensuite , mettre js, csset les imgfichiers dans des répertoires distincts comme celui - ci:
index.html
YOUR_COMPONENT_NAME.xml
[+] admin
[+] site
[-] media
[-] js
main.js
index.html
[+] css
[+] img
Notez que tout dossier doit avoir un index.htmlfichier vide .
Dans votre manifeste XML (YOUR_COMPONENT_NAME.xml), vous pouvez déclarer un mediafichier comme ceci:
@Lodder Concernant votre référence :JHtml offers much more flexibility than JDocument, whilst using the same base functionality - indeed at the end of the day JHtml will call JFactory::getDocument()->addStyleSheet() or JFactory::getDocument()->addScript().
Farahmand
1
@Fari Les paramètres n'ont changé que de 2,5 pour supprimer la prise en charge de la façon de faire les choses 1.5. Si vous utilisez les paramètres 3.x, ils fonctionneront correctement en 2.5. Après avoir également écrit la page Joomla Docs que vous avez référencée, je vous conseillerais fortement d'utiliser JHtml si vous placez des éléments dans le dossier multimédia afin que les gens puissent remplacer vos scripts plus facilement (ce qui n'est pas possible avec JDocument). Bien que comme vous le dites, ce n'est pas obligatoire.
George Wilson
1
@GeorgeWilson Comme mentionné dans le lien référencé ci-dessus: If you wish to just include a straight file path, in a template for example, then you are better using JDocument. However if you wish to take into account whether debug is enabled to include a compressed script or take advantage of template overridable scripts and stylesheets then using JHtml is generally better. It is recommended all 3rd Party Developers use JHtml to allow template overrides of their CSS and javascript for template designers.Alors J! les développeurs de sites utilisent JDocument et les développeurs d'extensions publiques tierces peuvent utiliser JHtml.
JHtml::stylesheet("mod_EXAMPLE/style.css", array(), true)
pour chargermedia/mod_EXAMPLE/css/style.css
(notez lacss/
partie supplémentaire ), etJHtml::script("mod_EXAMPLE/script.js", false, true)
pour chargermedia/mod_EXAMPLE/js/script.js
(notez lajs/
partie supplémentaire ).Je suppose que votre extension est un composant. La meilleure façon est de créer un
media
répertoire à côté deadmin
et dessite
répertoires. Ensuite , mettrejs
,css
et lesimg
fichiers dans des répertoires distincts comme celui - ci:Notez que tout dossier doit avoir un
index.html
fichier vide .Dans votre manifeste XML (YOUR_COMPONENT_NAME.xml), vous pouvez déclarer un
media
fichier comme ceci:Modifiez la vue par défaut (default.php) et ajoutez ces lignes pour inclure les fichiers dans Joomla! tête:
la source
JHtml
devrait être utilisé pour importer des fichiers CSS et JS plutôt queaddStyleSheet
etaddScript
: docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_pageJHtml::script()
etJHtml::stylesheet()
sont modifiés: docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2JHtml offers much more flexibility than JDocument, whilst using the same base functionality - indeed at the end of the day JHtml will call JFactory::getDocument()->addStyleSheet() or JFactory::getDocument()->addScript().
If you wish to just include a straight file path, in a template for example, then you are better using JDocument. However if you wish to take into account whether debug is enabled to include a compressed script or take advantage of template overridable scripts and stylesheets then using JHtml is generally better. It is recommended all 3rd Party Developers use JHtml to allow template overrides of their CSS and javascript for template designers.
Alors J! les développeurs de sites utilisent JDocument et les développeurs d'extensions publiques tierces peuvent utiliser JHtml.