5568 sujets

Sémantique web et HTML

Bonjour à tous,

J'essaie désespérément de faire valider un site sous Joomla et j'ai besoin d'un petit coup de pouce svp.

Voici l'adresse du site en question :

Voici l'erreur que je n'arrive pas à résoudre : Line 177, Column 23: document type does not allow element "style" here

Le code concerné est celui d'un module de menu appelé par mon template sous Joomla. Je sais bien qu'il faut appeler les feuilles de style dans head et j'ai réussi à le faire pour la feuille externe en utilisant
$document =& JFactory::getDocument();
$document->addStyleSheet("modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/kwickverti_slidingmenu.css",'text/css', "screen");


Malheureusement il y a également dans ce module un ensemble de styles qui ne sont pas sur la feuille externe et qui contiennent du php et c'est là que je bloque : comment faire en sorte qu'ils soient appelés dans head ?(et ceci règlerait alors mon problème lors de la validation)

Voici le code concerné :

<style type="text/css">
/* now lets do the styling thats not covered in the .css */
#kwickmenu {
	height: <?php echo $menuheightall; ?>px;
}
#kwickmenu .menus {
	width: <?php echo $menucontainer; ?>px;
}
#kwickmenu .menu {
	width:<?php echo $menuwidth; ?>px;
	height:<?php echo $menuheight; ?>px;
	border-bottom: <?php echo $separator_height; ?>px solid <?php echo $separator_color; ?>;
}

/* now lets set up the images */

<?php if ($status1==1) { ?>
#kwickmenu .opt1 {
	background: url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image1?>) ;
}
<?php } else { ?>
<?php } ?>

<?php if ($status2==1) { ?>
#kwickmenu .opt2 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image2 ?>);
}
<?php } else { ?>
<?php } ?>

<?php if ($status3==1) { ?>
#kwickmenu .opt3 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image3 ?>);
}
<?php } else { ?>
<?php } ?>

<?php if ($status4==1) { ?>
#kwickmenu .opt4 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image4 ?>);
}
<?php } else { ?>
<?php } ?>

<?php if ($status5==1) { ?>
#kwickmenu .opt5 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image5 ?>);
}
<?php } else { ?>
<?php } ?>

<?php if ($status6==1) { ?>
#kwickmenu .opt6 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image6 ?>);
}
<?php } else { ?>
<?php } ?>

<?php if ($status7==1) { ?>
#kwickmenu .opt7 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image7 ?>);
}
<?php } else { ?>
<?php } ?>

<?php if ($status8==1) { ?>
#kwickmenu .opt8 {
	background:  url(modules/mod_kwickverti_slidingmenu/kwickverti_slidingmenu/images/<?php echo $camp26image8 ?>);
	border-bottom: 0;
}
<?php } else { ?>
<?php } ?>
</style>


J'ai essayé avec addStyleDeclaration mais ça ne fonctionne pas. En fait je ne vois pas comment placer les styles en utilisant cette fonction alors peut être qu'en l'utilisant correctement ça pourrait fonctionner ?

Ce serait vraiment sympa que l'un d'entre vous puisse m'éclairer car je suis là dessus depuis ce matin et je vais m'en arracher les cheveux.... Smiley bawling

Merci d'avance! Smiley biggrin

Paul
Bonsoir,
il faut que tu montre ta page (donnes nous le lien) car de plus en plus nombreux sont les sites que le validateur ne peut traiter, en géénral il faut faire afficher source, et le "coller" dans l'onglet saisie..

donc donnes nous ton adresse de page Smiley eek
Administrateur
Bonsoir,

ça ressemble plus à un problème avec un plugin de Joomla auquel cas il faudrait se rapprocher d'un site ou d'une liste/groupe qui s'occupe de ce framework Smiley cligne
Sinon, tant que le menu n'est pas modifié, tu peux copier-coller le contenu de cet élément style dans ta feuille de style et mettre en commentaire le code qui le génère. A la moindre modif' il faudra re-copier-coller les bonnes valeurs bien entendu.
Enfin, tu peux aussi laisser tel quel cet élément au mauvais endroit: ce n'est pas valide (bouh!) mais à ma connaissance tous les navigateurs se dépatouillent très bien avec cette erreur-là. Seul IE6 plante au bout d'une vingtaine de <style> et <style> en commentaires conditionnels Smiley rolleyes mais quand tu as des contraintes dues à ton CMS, c'est un pis-aller tout à fait fonctionnel.
Merci de vos réponses. En effet c'est bien un module Joomla qui par sa conception n'est pas "accessible" au regard des recommandations du W3C. Je pensais réussir à le modifier mais ça ne semble pas si simple finalement et sur les forums dédiés à Joomla la solution n'a pas été trouvée. Alors puisque de toutes façons les navigateurs ne rencontrent pas de pb particulier je vais laisser...Ou bien utiliser l'idée de Felipe en copiant/collant le contenu de cet élément style puisque ce menu ne sera pas modifié. Smiley smile
massivatt a écrit :
En effet c'est bien un module Joomla qui par sa conception n'est pas "accessible" au regard des recommandations du W3C.

Le problème soulevé n'a rien à voir avec un problème d'accessibilité. C'est, si je ne m'abuse, une question de conformité.
Florent V. a écrit :

Le problème soulevé n'a rien à voir avec un problème d'accessibilité. C'est, si je ne m'abuse, une question de conformité.


Tout à fait! désolé mon clavier a fourché...