web-dev-qa-db-fra.com

Devrais-je changer la façon dont javascript est inclus dans Joomla? Si oui, pourquoi et comment?

J'utilise beaucoup de javascript sur mon site. Cela fonctionne et a passé avec succès les tests crossbrowser, mais le problème est que les fichiers javascript sont inclus dans les articles Joomla. J'ai lu que c'était la mauvaise façon de s'y prendre, mais je ne sais pas pourquoi et je ne suis pas sûr de la meilleure façon de le faire (je crois qu'une des raisons tient au fait que le javascript n'est pas inclus dans la tête de la page Web).

IMPORTANT J'ai envisagé d'inclure le javascript dans le modèle, mais chaque article de Joomla peut être très différent. Bien que j'essaie d'être cohérent avec des articles de catégories similaires, ce n'est pas toujours possible. Si je devais inclure le javascript dans le modèle, il me faudrait créer un modèle différent pour chaque type de catégorie. Il me faudrait ensuite inclure le script impair dans quelques articles.

Peut-être devrais-je inclure le javascript via des modules HTML personnalisés? Je ne sais pas vraiment quel avantage cela apporterait par rapport à la méthode actuelle.

QUESTIONS

  • Le javascript ne devrait-il pas être inclus via les articles joomla? Si oui pourquoi?
  • Comment voulez-vous inclure javascript dans cette situation? Rappelez-vous que chaque article peut utiliser des js très différents.

EDIT1

Je suis particulièrement intéressé par comment les gens recommandent que j'ajoute le javascript à Joomla dans ma situation.

1
TryHarder

Si vous incluez JavaScript en tant qu'utilisateur et que vous personnalisez votre article, tout va bien. Surtout si c'est différent pour chaque article.

Toutefois, si vous répétez le même code JavaScript dans plusieurs articles, il peut exister de meilleures solutions, comme une autre disposition des articles.

Vous pouvez en savoir plus sur les dispositions alternatives ici: http://docs.joomla.org/Layout_Overrides_in_Joomla . Fondamentalement, vous copiez le fichier de mise en page d'origine dans votre modèle, comme vous le feriez pour le remplacer. Mais vous renommez le fichier sous un nouveau nom. Cette nouvelle mise en page peut ensuite être sélectionnée comme mise en page alternative pour un article. Vous pouvez ensuite ajouter le code JavaScript à cette présentation et le réutiliser pour chaque article de votre choix.

Une autre solution consisterait à utiliser le module personnalisé ou l’un des modules/modules disponibles permettant d’ajouter des ressources au site. Cependant, personnellement, je pense que j'utiliserais des dispositions alternatives.

Si nous parlons de développeurs d'extensions qui demandent aux utilisateurs d'inclure du code JavaScript dans les articles, ces développeurs doivent être renvoyés :-)

4
Bakual

Les articles sont pour le contenu, pas le code source.

Règle de base, contenu différent selon les endroits.

Si je dois rapidement inclure Javascript, je recommanderais NoNumber Sourcerer: http://www.nonumber.nl/extensions/sourcerer

Principe de DRY , ne vous répétez pas. Créez des modules avec le code Javascript et incluez-les avec {loadposition module-position}

6
Anibal

Le javascript ne devrait-il pas être inclus via les articles joomla? Si oui pourquoi?

Je conseillerais doucement de ne pas utiliser JS directement dans les articles ...

  • Non convivial - de nombreux éditeurs effaceront JS écrit en ligne (peut-être pas quand vous l'utilisez, mais quand vos utilisateurs avec une permission inférieure le font, qui ne sont pas autorisés à enregistrer des articles contenant du code. ...)
  • Ne peut pas combiner/réduire (sans plugins/composants supplémentaires) - cela ajoute également du poids supplémentaire à un site (impossible de combiner des scripts) et le minifier/le déminifier pour effectuer des modifications est inefficace et prend du temps. consommant
  • comportement de blocage - JS dans le corps bloquera jusqu'à ce qu'il soit terminé. Si c'est complexe, les utilisateurs attendent peut-être que le reste de la page soit chargé.
  • Et bien sûr, c’est moche - bien que ce ne soit pas la pire chose au monde, c’est aussi la solution la plus redoutable, étant donné les nombreuses façons différentes dont Joomla doit inclure JS sur une page.

Comment voulez-vous inclure javascript dans cette situation? Rappelez-vous que chaque article peut utiliser des js très différents.

Je suis curieux. Qu'est-ce qui oblige chaque article à avoir un "JS très différent"? Vous devez sûrement faire des généralisations?

3
codinghands