web-dev-qa-db-fra.com

Supprimer le filtre de texte partiel pour <link> et <meta> ne fonctionne pas

Je veux ajouter <meta> et <link> balises dans le code source de TinyMCE pour ajouter schema.org déclarations.

  • Tiny MCE est configuré pour utiliser le filtre de Joomla.
  • Le filtre de texte Joomla est défini sur "Pas de filtrage".
  • Je peux utiliser <iframe> dans le code source de MCE, donc le "No Filtering" semble fonctionner. <iframe> est sur la liste noire par défaut.

Cependant, si j'ajoute <meta> ou <link> au code source contenant schema.org déclarations, Tiny MCE supprime les balises après être passé de "Source Code Editor" à "WYSIWYG" et vice versa.

2
Lovntola

Voici ma solution:
Au début: supprimer la méta et le lien du code source n'est pas du filtre joomla. cela fait partie du noyau. Donc, modifier le noyau n'est pas une solution au problème avec les mises à jour ultérieures.

Deuxièmement: le fournisseur de composants tiers peut fonctionner mais c'est une solution tiers hors de mon contrôle pour la validation et la vérification. Et chaque composant supplémentaire a besoin de performances.

Je recherche donc une solution que joomla propose.

tl; dr

J'ai utilisé des champs personnalisés avec un remplacement de mise en page.

Voici un échantillon quoi et pourquoi je veux ajouter:

<figure  itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
<meta itemprop="representativeOfPage" content="true">
<link itemprop="url" href="https://www.usa-reisetipps.net/images/bilder/ein-ausreise/visum-esta-16x9.jpg">
<link itemprop="url" href="https://www.usa-reisetipps.net/images/bilder/ein-ausreise/visum-esta-4x3.jpg">
<link itemprop="url" href="https://www.usa-reisetipps.net/images/bilder/ein-ausreise/visum-esta-1x1.jpg">
<link itemprop="url" href="https://www.usa-reisetipps.net/images/bilder/ein-ausreise/visum-esta.jpg">
<amp-img src="/images/bilder/ein-ausreise/visum-esta.jpg" width="750" height="423" layout="responsive" srcset="/images/bilder/ein-ausreise/visum-esta.jpg 750w, /images/bilder/ein-ausreise/visum-esta-768.jpg 558w, /images/bilder/ein-ausreise/visum-esta-480.jpg 413w" alt="alt text"></amp-img>  
<figcaption itemprop="description caption">Caption text.</figcaption>
</figure>

Voici les étapes:

  • Créer une propre mise en page pour les champs (méta): create a override for fields layout

Dans ce fichier je change de ligne

echo htmlentities($value);

à

echo $value;

imprimer la méta et non une version html

  • Je crée un fichier personnalisé avec du texte (ajout d'une ligne) ou une zone de texte (code source plus grand) pour l'extrait de code: create a custom filed as text or textarea

Important le champ doit avoir:
Filtre : non filtré et la disposition sélectionnée

select no filter for the field input

select the verride in this case meta

Ajouter ma méta et mes liens:

fill the fields with my meta or links tag J'ai ajouté le champ à l'article avec:

{field 2}
2
Lovntola

Les paramètres TinyMCE peuvent être configurés dans Extensions -> Plugins -> Editor - TinyMCE, y compris l'activation des éléments HTML qui peuvent ne pas être strictement conformes aux normes HTML4 ou HTML5 en les ajoutant aux champs "Éléments valides" ou "Éléments valides étendus" (voir ci-dessous) bien que les métadonnées sont généralement ajoutées à la <head> zone plutôt que <body> zone d'une page HTML.

TinyMCE Settings

Une meilleure solution pourrait être d'utiliser Regular Labs Sourcerer ou similaire pour insérer le code PHP approprié dans le contenu pour ajouter les déclarations au <head> zone de la page HTML.

Voir setMetaData et addCustomTag par exemple PHP code.

0
Neil Robertson