Balise HTML Textarea

En HTML, un champ de saisie multi-lignes est appelé textarea. Tout texte entre les balises d'ouverture et de fermeture est affiché comme du texte pouvant contenir du balisage HTML. Exemple :

<textarea><p class="poem">The quick brown fox<br>
jumps over the lazy dog.</textarea>

Les éditeurs, tels que TinyMCE ou Code Mirror, utilisent JavaScript pour superposer au textarea un affichage différent permettant la saisie WYSIWYG et/ou la coloration syntaxique. Le bouton Basculer situé sous un champ éditeur permet de basculer entre la vue textarea et la vue WYSIWYG.

Les vues éditeur sont utilisées pour le contenu des articles et de certains modules. Cependant, il faut savoir que toutes les balises et attributs HTML (comme class="xyz") ne sont pas autorisés pour tous les utilisateurs. Certains ou la totalité peuvent disparaître lorsque vous enregistrez le contenu d'un textarea ou d'un champ d'édition.

Ceci est dû à des mécanismes de filtrage, soit dans la Configuration Générale de Joomla!, soit dans la configuration de l'éditeur. Un filtre d'éditeur peut être contourné en sélectionnant Aucun éditeur dans les paramètres de votre Profil de l'utilisateur. Vous ne pouvez pas contourner les filtres globaux mais vous pouvez les modifier pour les adapter aux besoins de votre site.

Sélection de l'éditeur par l'utilisateur

Vous pouvez sélectionner l'un des éditeurs disponibles, y compris Aucun, depuis votre Profil d'utilisateur accessible via le menu Compte utilisateur / Modifier le profil en haut à droite de l'écran d'Administration. Le formulaire Éditer : Profil contient un onglet Paramètres de base avec un champ permettant de sélectionner un Éditeur. Il est normalement réglé sur - Valeur par Défaut -, qui correspond généralement à TinyMCE. Vous pouvez sélectionner Éditeur Aucun. Cela permettra de contourner tout filtrage des balises et attributs HTML non autorisés par les paramètres de configuration de TinyMCE.

Avertissement : si vous sélectionnez Éditeur - Aucun pour créer un contenu contenant des balises HTML non autorisées par un filtre d'éditeur, puis que vous revenez à l'éditeur par défaut, veillez à ne pas modifier et enregistrer ce contenu à nouveau, sous peine de perdre toutes les balises et attributs filtrés. Il est facile de faire cette erreur par inadvertance et aucun avertissement n'est affiché.

Configuration Générale : Filtres de texte

Depuis le Panneau d'administration, sélectionnez Configuration Générale puis l'onglet Filtres de texte. Les paramètres par défaut ont Aucun HTML sélectionné pour les groupes d'utilisateurs Invité, Public et Enregistré. Chacun de ces groupes peut avoir l'occasion de remplir un champ de type textarea, par exemple dans un formulaire de contact demandant des informations supplémentaires sur un problème, donc la suppression automatique de toutes les balises HTML est généralement appropriée. Les autres groupes, à l'exception des Super Utilisateurs, sont restreints par la Liste d'interdiction par défaut. Les Super Utilisateurs ne subissent aucun filtrage.

global configuration of text filters

Les notes expliquent ce qui est inclus dans la liste d'interdiction par défaut et comment utiliser les autres listes.

Configuration de TinyMCE pour les filtres de texte

Les éditeurs sont implémentés sous forme de plugins dans Joomla!. L'éditeur CodeMirror n'a pas de paramètres de filtre de texte. Pour personnaliser l'éditeur TinyMCE, trouvez et sélectionnez-le dans la liste des plugins. À mi-chemin de la longue liste de paramètres, vous verrez un champ intitulé Utiliser le filtre de texte Joomla qui est Désactivé par défaut. Les trois champs suivants sont

  • Éléments interdits une liste de balises qui seront toujours supprimées. La liste par défaut script,applet,iframe pose toutes des problèmes de sécurité.
  • Éléments valides utilisez cette liste pour limiter les balises valides à un sous-ensemble de toutes les balises HTML courantes. Exemple : a[href|target=_blank],strong/b,div[align],br
  • Éléments valides étendus utilisez cette liste pour ajouter un élément à l'ensemble de règles par défaut existant ou pour modifier un élément de cet ensemble de règles. Exemple : img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]

Consultez la documentation de TinyMCE pour plus d'explications.

Pour contourner les filtres de texte de TinyMCE et utiliser les filtres de texte de Joomla, réglez Utiliser le filtre de texte Joomla sur Activé. Les trois champs supplémentaires décrits ci-dessus disparaissent car ils ne sont plus utilisés.