2010-08-13 7 views
1

J'ai une joomla isntallation qui affiche certains articles normalement mais quand j'ai ajouté un article avec une vidéo youtube, l'éditeur WYSIWYG a converti les caractères spéciaux dans le code d'intégration en entités html. Eh bien, je suppose que c'est l'éditeur car cela n'arrive pas quand je ne l'utilise pas. Le problème après est que si je vais à l'article, je vois le code d'intégration pour le lecteur flash, au lieu du lecteur flash étant rendu. J'utilise joomla 1.5 avec une installation PHP 5. Je pensais que joomla utilisait html_entity_decode() sur le contenu par défaut? Est-ce que quelqu'un sait pourquoi cela se produit et peut me guider vers quel fichier ou modèle de fichier je devrais utiliser la fonction s'il vous plaît et merci.joomla affichant html dans le contenu

Répondre

0

Presque éditeurs joomla HTML bande, css, JS à partir du contenu

de sorte que vous pouvez désactiver propre HTML dans vos paramètres de l'éditeur ou

son mieux d'utiliser un plugin pour intégrer le code youtube (il y a beaucoup)

utiliser ce plugin pour intégrer des vidéos de presque tous les fournisseurs (youtube, vimeo, metacafe, etc.)

http://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/812

+0

merci pour le lien plugin, et je vais jeter un oeil à quelques autres aussi. – zcourts

+0

Je me demandais juste, mais pourquoi dites-vous qu'il est préférable d'utiliser un plugin tiers pour intégrer les vidéos? Dans mon expérience, c'est exagéré, et ajoute une couche supplémentaire de complexité inutile. – derekerdmann

+0

en effet il ajoute plus de traitement et nous (administrateur) préférerions la manière html, mais ayant quelques auteurs écrivant dans votre site ils ne seront pas heureux d'embarquer le joueur eux-mêmes en utilisant le No-editor –

0

Vous devrez intégrer votre extrait de code dans la source HTML générée par l'éditeur. La plupart des éditeurs WYSIWYG ont un bouton qui vous permet de voir le HTML directement; cliquez dessus et vous devriez pouvoir coller dans votre code d'intégration.

Cependant, il se peut que vous deviez modifier certains paramètres pour que cela fonctionne complètement. Cela fait un moment que je me suis battu avec cela, mais vous devrez peut-être aller au plugin TinyMCE (dans le Gestionnaire de plugin) et réglez "Nettoyage de code sur Enregistrer" sur "Jamais". Il y a également un filtre pour les balises HTML autorisées dans la section des paramètres du Gestionnaire d'articles, vous devrez donc peut-être également ajuster la liste noire.

+0

merci pour la réponse. J'ai bien inséré le code d'intégration dans aucune vue html mais l'éditeur a ensuite converti le code d'intégration en entités html, j'ai seulement remarqué quand il n'était pas en cours de lecture j'ai jeté un coup d'oeil à la table joomla. – zcourts

+0

@ robinsonc494 - Oui, vous devrez aller dans les paramètres du plugin TinyMCE comme je l'ai mentionné dans la deuxième partie de mon message. Bien sûr, vous pouvez utiliser un plugin tiers pour faire fonctionner l'intégration, mais si vous désactivez le "Nettoyage de code lors de l'enregistrement", vous ne devriez pas avoir besoin de le faire. – derekerdmann

0

Comme vous l'avez compris, l'éditeur détruit votre code. Il y a 2 raisons pour cela -

  1. Si vous insérez du code, il est facile d'avoir du code mal formé qui casse quelque chose en aval sur la page. Laisser un seul sera tuer une page.
  2. Pour des raisons de sécurité. Vous ne voulez pas que les gens puissent insérer du code néfaste de l'éditeur. En général, c'est une bonne idée de nettoyer toute entrée d'un utilisateur pour empêcher toutes sortes d'attaques.

Il est recommandé d'utiliser un plugin pour ce type de chose, car il vous donne plus de contrôle sur l'entrée des utilisateurs. Il garantit que le code utilisé pour l'intégration de la vidéo sera correct à chaque fois et qu'aucun code supplémentaire n'est inséré puisque tout le gros travail est géré par le plugin. Le temps de traitement supplémentaire d'un plugin bien écrit est minime et vous ne verrez aucune différence notable dans les performances du site à moins que votre site ne contienne des millions de pages vues.

Si vous voulez vraiment le faire à travers l'éditeur, il y a un truc à faire. Non seulement vous devez insérer le code dans la vue HTML de l'éditeur, mais vous devez enregistrer l'article tout en restant dans la vue du code.L'état d'affichage HTML de l'éditeur est généralement persistant. Vous devez donc être sûr d'être en mode HTML avant de revenir à un article dans lequel vous avez inséré du code, sinon l'ouverture de l'article gâchera le code que vous avez inséré. En dernier lieu, certaines extensions vous permettent d'insérer du code directement dans l'éditeur. Je ne suis pas un fan de ceux-ci parce qu'ils posent un risque de sécurité.

Questions connexes