Jump to content
Sign in to follow this  
negoce

codes php/html enpêche la validation W3C dans editorial.xml... besoin d’aide...

Recommended Posts

Bonjour,

j'ai remarqué dans l'editorial que le fichire editorial.xml ce retrouve avec des codes php/html provenant de tiny, créant des erreurs de validation W3C.

comment y remédier ?

j'ai trouvé une fonction mais comment l'inclure ?

http://fr.php.net/manual/fr/function.strip-tags.php

Exemple #1 Exemple avec strip_tags()


<?php
$text = '
Test paragraph.<!-- Comment --> Other text';
echo strip_tags($text);
echo "\n";

// Autorise 
 et 
echo strip_tags($text, '



L'exemple ci-dessus va afficher :

[code]
Test paragraph. Other text

Test paragraph. Other text



Merci d'une aide précieuse

Share this post


Link to post
Share on other sites

Bonjour,

j'ai oublié le code actuel en exemple du fichier editorial.xml

<?xml version="1.0" encoding="utf-8" ?> 
- 
 <header /> 
- <body>
 <title_2>Titre de test</title_2> 
Titre2 de test

Nom de produit de test...
http://www.site.com/product.php?id_product=3
Titre3 de test
 </body>



le code validé par W3C :

<?xml version="1.0" encoding="utf-8" ?> 
- 
 <header /> 
- <body>
 <title_2>Titre de test</title_2> 
Titre2 de test
Nom de produit de test...
http://www.site.com/product.php?id_product=3
Titre3 de test
 </body>



merci de votre aide...

Share this post


Link to post
Share on other sites

Bonjour,
Je ne comprend pas le problème.
Le fichier editorial.xml n'apparait jamais sur le site, il est lu par le module éditorial puis les données sont affichées par prestashop sur le site mais plus en XML.

Share this post


Link to post
Share on other sites

Bonjour,

Mertci de ta réponse,

voilà ce que ça donne pour les erreures sur la dézmo de presta en w3C :

http://validator.w3.org/check?uri=http://www.prestashop.com/demo/&charset;=(detect+automatically)&doctype=Inline&group=0

voilà le lien xml de l'editorial :

http://www.prestashop.com/demo/modules/editorial/editorial.xml

on constate bien que les

 

influance le W3C si on ajoute d'autres codes html c'est pire...

voilà une aide est donc la bienvenue...

à bientôt...

Share this post


Link to post
Share on other sites

Ha ok dans ce cas là c'est plutôt le template editorial.tpl qu'il y a une faute.

ligne 9

    {if $xml->body->$paragraph}
{$xml->body->$paragraph|stripslashes}{/if}


devrait être

{if $xml->body->$paragraph}
{$xml->body->$paragraph|stripslashes}
{/if}


le problème c'est qu'on a pas le droit de mettre un paragraphe (< p>) dans un paragraphe d'où l'erreur alors que dans un bloc (< div>) on peut.

A+

Share this post


Link to post
Share on other sites

Bonjour,

Merci de ta réponse shag,

mais je pense qu'il y a un pb au niveau du html de tinymce de l'editorialdans dans l'admin....

car si je m'amuse par exemple à mettre un text sans aucun html c'est ok !

mais si de mais en forme le text comme par exemple couleur ou taille de la police là ca me donne une erreur dans W3C...

et en plus ça va me donner du text comme

mon text

si tu vois ce que je veux dire !

d'où mon code plus haut ou si biensur il y a plus simple pour remplacer le html par du text simple mais uniquement dans le fichier xml !

Merci d'avance donc pour une aide...

à bientôt...

Share this post


Link to post
Share on other sites

normal, on a pas le droit de mettre un < h3> dans un < p> (liste de ce qu'on a le droit de mettre dans un paragraphe : http://giminik.developpez.com/xhtml/p.html#ancrealpha )

par contre si on remplace < p> par < div>, là on a le droit et on peut mettre toutes les balises générées par tiymce (http://giminik.developpez.com/xhtml/div.html#ancrealpha)

Share this post


Link to post
Share on other sites

Bonjour,

Merci shag,

je me suis mal exprimé et en plus l'exemple n'est pas bon !

dans tinymce de l'éditorial je tape par exemple:

le produit de la semaine !!

( avec la taille 3 )

ça donne côté html de tiny :

le produit de la semaine !!



côté editorial.xml ça donne ce code :

<?xml version="1.0" encoding="utf-8" ?> 
- 
 <header /> 
- <body>
le produit de la semaine !!
http://127.0.0.1/shop_097/product.php?id_product=1
 </body>



et donc là où ça ne passe pas chez W3C c'est :

...



voilà...

qu'en pense tu ?

Share this post


Link to post
Share on other sites

bonsoir,

toutes mes excuses tu as tout à fait raison.

TinyMCE fait du HTML et la template par défaut est en XHTML donc la validation rate dans certain cas.

une chose est sûr, il faut remlpacer le < p> par un < div> comme dit plus haut.
ensuite pour supprimer les < font>

fichier /modules/editorial/editorial.php ligne 191

extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"


devient

extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],span[class|align|style]",
convert_fonts_to_spans : true


(la première ligne est modifiée vers la fin)

j'ai pas testé. si ça suffit pas il y a une astuce ici http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements pour faire du code XHTML valide mais ça a l'air super long :(

Une autre solution est de faire un template en HTML 4
Désolé j'ai pas mieux

Share this post


Link to post
Share on other sites

Bonjour,

Merci encore pour ton aide shag !

mais j'ai toujours l'apparition de codes html dans le fichier editorial.xml

en revanche ta réponse m'a éguillé vers tinymce...

je m'explique l'erreur W3C est présente quand il y a du

 

dans le fichier xml

hors tinymce génere automatiquement du

 

quand on va à la ligne...

alors pour éviter ça il faut simplement ajouter et remplacer ce code :

extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"                    



par :

extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
forced_root_block : false,
force_br_newlines : true,
force_p_newlines : false



les 3 dernières lignes permettent de remplacer le

 

par

...

bon il n'y a plus donc d'erreur W3C mais il y a toujours l'apparition de code dans le fichier xml ce type de code par exemple :

même si j'ajoute ton code...

donc pas top ...

Merci d'avance et à bientôt...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More