Je voudrais minifier un fichier js d'un module Joomla. Par exemple, le fichier:
joomla_site/modules/mod_module/tmpl/js/file.js
qui a été copié à l'emplacement suivant:
joomla_site/templates/my_template/html/mod_module/tmpl/js/file.js
Ça a été minifié. J'ai rechargé mon site et il n'y a pas eu de changement. Le site utilise toujours le fichier js non-minifié. Qu'est-ce que je rate?
Vous pouvez également le faire en incluant un fichier Javascript dans le pied de page afin qu'il écrase le fichier.
Créez un nouveau fichier appelé footer.php dans / libraries/joomla/document/html/renderer / annuaire:
Dans /libraries/joomla/document/document.php ajouter après
public $_scripts = array();
cettepublic $_footer_scripts = array();
Ajouter une méthode addFooterScript () après la méthode addScript ()
function addFooterScript($url, $type = "text/javascript", $defer = false, $async = false) {
$this->_footer_scripts[$url]['mime'] = $type;
$this->_footer_scripts[$url]['defer'] = $defer;
$this->_footer_scripts[$url]['async'] = $async;
return $this;
}
Dans index.php dans votre dossier de modèles, ajoutez juste avant la balise<jdoc:include type="footer" />
Terminé!
Maintenant, dans les mises en page du dossier de votre modèle, vous pouvez utiliser le code suivant pour ajouter des fichiers javascript au pied de page:
$doc =& JFactory::getDocument();
$doc->addFooterScript('JavaScript_File_Path.js');
Pour plus d'instructions, vérifiez ceci - fichiers Javascript inclus dans le pied de page
En supposant que le module utilise la méthode suivante pour importer le script:
JHtml::_('script', 'path/to/file.js', array(), true);
n'utilise pas $doc->script()
Ensuite, vous devez copier le fichier dans le chemin suivant:
joomla-site/templates/my_template/html/mod_module/file.js
Le chemin ne devrait pas contient tmpl/js/
.
Si c'est votre propre module personnalisé - choisissez une autre solution, mais si ce n'est pas le vôtre - je vous suggère d'utiliser Optimiseur JCH - la version gratuite couvre entièrement vos besoins.