5542 sujets

Sémantique web et HTML

Bonjour,

Voici mon problème :
je développe des modules pour un moteur de boutiques en ligne (prestashop). Ces modules sont insérés dans les pages par le moteur.
mais le rendu de la page a déjà commencé à ce moment là et les métas (<links> <title>... sont déjà écrits).

Ma question : comment insérer une feuille de style pour modifier l'apparence des modules tout en ayant un code valide.
Si j'ajoute
<style type="text/css">@import url('mafeuille.css');</style>

après </head> ça marche mais ce n'est pas valide

j'ai essayé ça
	<script type="text/javascript">
		var headTag = document.getElementsByTagName('head')[0];
		var style = document.createElement('link');
		style.type = 'text/css';
		style.href ='mafeuille.css';
		style.rel = 'stylesheet';
		headTag.appendChild(style);
	</script>
	<noscript><style type="text/css">@import url('{$css_file}');</style></noscript>

mais c'est pas mieux évidemment.

Donc là je sèche et je doute même que ce soit possible.

Quelqu'un a une idée ?
Merci d'avance
Modifié par Shagshag (26 May 2008 - 12:21)
Bonjour,

Hum hum Smiley murf ... n'y a-t-il pas une feuille de styles par défaut dans ce moteur de boutiques ?

Si c'est le cas pourquoi ne pas l'utiliser pour personnaliser tel ou tel module (avec un identifiant prédéfini ou une classe pour chaque module).

Si le but de la manœuvre est de séparer les styles des modules personnels de ceux déjà existants, on pourra alors s'appuyer sur la règle @import faisant appel aux feuilles de styles adéquates directement depuis la feuille de styles par défaut.
Merci de la réponse.

Justement tout l'intéret des modules est de les installer sans toucher au reste. Il devrait être autonome.
De plus comme les modules sont installables et activables par l'utilisateur final il faudrait prendre en compte tous les modules existants (et à venir) dans la feuille de style global Smiley decu .
a écrit :
Justement tout l'intéret des modules est de les installer sans toucher au reste. Il devrait être autonome.


Je le comprend bien. Smiley smile

Pour répondre à cette problématique, deux solutions sont possibles :
- Créer plusieurs feuilles de styles propres à chaque module puis les appeler dans la feuille de styles par défaut.
- Utiliser les styles en ligne sur la source HTML de chaque module.
Administrateur
L'appel à la feuille de style (dans le <body>) qui précède d'une ligne le module stylé, ce n'est pas trop trop valide Smiley jap mais si c'est la seule chose ... En tout cas les navigateurs affichent ça à la perfection. Du moins les navigateurs existants à ce jour et que j'ai pu tester Smiley rolleyes
Si ça t'économise 2 mois de codage d'une interface d'administration, fonce avec cette "solution" et tu verras pour l'admin après Smiley cligne
Ok merci.

C'était juste pour savoir s'il y a une façon plus propre de faire cela.
Apparemment non tant pis.

Merci beaucoup de vos réponses.
Shagshag a écrit :
C'était juste pour savoir s'il y a une façon plus propre de faire cela.

La façon plus propre c'est de coder un module pour un logiciel qui prévoit ce cas de figure et qui permet aux développeurs de module ou d'extensions de rajouter leur propre code CSS ou Javascript au styles de base. Smiley cligne