Hoe voorkom je dat de Editor in Joomla Code verwijdert?

Je Joomla site is gebouwd met een hoop code. De juiste code op de juiste plaats brengt je wesite tot leven. Echter,de verkeerde code kan een enorm gevaar voor de veiligheid van Joomla betekenen.

Als je bezoekers gebruik kunt laten maken van PHP, Javascript, iframes of andere code binnen je content, dan vergroot je de kans dat je website kan worden aangetast door het invoegen van kwaadaardige code. Om dit risico te minimaliseren, is de mogelijkheid om code toe te voegen in Joomla standaard beperkt!

De keerzijde van de medaille met betrekking tot de veiligheid is, dat sommige gemeenschappelijke codefragmenten, uit goed vertrouwde bronnen komen, geblokkeerd zullen worden. Bijvoorbeeld, Joomla laat niet toe dat je code kunt insluiten van sites zoals YouTube en Google Maps.

In dit artikel zal ik je laten zien hoe je dergelijke code op uw site kunt plaatsen zonder dat Joomla de code weer verwijdert. Laten we proberen om de code in te voegen van een Google Maps embed-code in een Joomla artikel getiteld "Welcome to uw blog". Het artikel voor deze voorbeeld ziet eruit als de screenshot hieronder:

01 joomla article before

Normaal gesproken kunt u een codefragment invoegen van Google Maps, waar je dat wil, klik hiervoor op de knop Toggle Editor (1) en plak de code rechtstreeks in de editor (2):

02 pasting the code

"So far so good," denk je. Echter, als je het artikel hebt opgeslagen, zie je dat de Google Maps embed-code verdwijnt uit het vak editor venster. Ook zie je de Google Maps binnen je artikel op het front-end deel van je website niet.

Hoe kan dat nu gebeuren? Ga terug naar je Joomla back-end (naar het administrator control panel), en open het artikel opnieuw door deze te bewerken en kijk naar de broncode (Klik hiervoor weer op de Toggle Editor knop zoals je dat net ook gedaan hebt. Klik hiervoor, op Tools > broncode). Je zult zien dat Joomla! de code van de Google Maps dat je eerder hebt ingevoegd in het artikel en opgeslagen had, verdwijdert heeft.

Dat is het probleem. Hieronder de oplossingen...

Oplossing 1 - De filteroptie van Joomla tekst wijzigen

Deze oplossing werkt al je een Super User bent  en je de default editor TinyMCE wil blijven gebruiken.

Het ding is dat de TinyMCE editor zijn eigen website breede filteroptie heeft genaamd "Use Joomla Text Filter", deze staat standaard uitgeschakeld. Het tekstfilter verbiedt het gebruik van "script", "applet" en "iframe" code tags (één ervan, namelijk "iframe", we hebben geprobeerd om in te voegen slechts een paar minuten geleden).

  • Ga naar Extensions > Plugins > Editor
  • Klik op de TinyMCE plugin
  • Vind de Use Joomla Text Filteroptie, en schakel deze in.
  • Sla de plugin instelling op, door op Save te klikken.

  • 03 use joomla text filter
  • Open je artikel om deze nogmaals aan te passen.
  • Klik dan op de Toggle Editor button  opm het artikel te openen in de article code editor.
  • Voeg nu het sample Google Maps snippet in.
  • Sla het artikel op via Save of Save & Close.
  • Bezoen nu de front-end van je website en je zult zien dat de Google Maps  nu wel netjes en mooi ingevoegd is.

Indien he de code filtering wil uitschakelen, stel dan de Use Joomla Text Filter parameter in op Off.

04 google map displayed

  

Oplossing 2 - Schakel de TinyMCE Editor uit

Dit is een iets meer radicale oplossing:

  • Go to System > Global Configuration > and click the Site tab.
  • Find the Default Editor option.
  • Set this option to Editor - None.
  • Click on Save & Close

05 turning off tiny mce editor

  • Now you can go to your article and safely paste in the code. It will appear as in the image below:

    06 code snippet not stripped

 

Oplossingen voor langere termijn

Voor de lange termijn kunnen deze omslachtige oplossingen beter zijn.

Een oplossing is het gebruik van een betere editor dan  de standaard TinyMCE van Joomla is. De Joomla Content Editor (JCE) is gratis, het betreft de Core versie. Er is ook een uitgebreidere betaaldeversie beschikbaar het betreft de Pro versie, beide zijn aanzienlijk beter.

Ook aan te bevelen zijn de twee uitbreidingen van RegularLabs.com. Met de Sourcerer plug-in kun je code plaatsen, in de inhoud van het artikel, met de standaard editor nog steeds ingeschakeld. Er is een gratis en betaalde versies beschikbaar. Met de Snippets plug-in kun je de code één keer invoeren en vervolgens de herbruikbare tekstfragment toepassen in verschillende artikelen.

Andere opties zijn, als je veel media van populaire sites in wil toevoegen, dan kun je bijvoorbeeld de  plugins OSYouTube gebruiken, deze ondersteunt YouTube-video's. Hiermee kun je gemakkelijk de URL invoegen in  je artikelen. OSVimeo doet het zelfde voor Vimeo video's en OSWistia doet voor Wistia video's. OSEmbed ondersteunt Google Maps en tientallen andere bronnen! Voor de extensies van JoomlaShack geldt dat ook hiervoor zowel gratis alsook betaalde versies met meerdere mogelijkheden beschikbaar zijn.

 

 

Vertaling van bron: https://www.joomlashack.com/blog/joomla/stop-joomla-from-stripping-out-code/