-
[DOM] fonction Save CSS
Bonjour,
Nouvelle ici, j'espère que je pose ma question au bon endroit ;)
Je viens de créer un formulaire en html/javascript permettant à l'utilisateur de mon site de modifier le design de sa propre page. Je m'explique:
l'utilisateur veut créer son blog, et maintenant personnaliser le design de ses pages. Pour ce faire, je mets à sa disposition un formulaire lui demandant (avec clorpicker,...) de choisir ses couleurs de divs, de liens, l'épaisseur des bordures de ses divs,etc,... il remplit ce formulaire sur la gauche de la page et lorsqu'il fait ses choix, sans avoir besoin de recharger sa page ou de créer un aperçu, l'exemple de sa page finale (sur la droite de ma page) est modifié instantanément. Il voit ainsi en direct ce à quoi ressemblera sa page.
Jusqu'ici tout marche correctement, les champs remplis dans le formulaire agissent sur la feuille de style css attachée.
Mais voilà la solution que je cherche et que je ne trouve pas;
Lorsque l'utilisateur est content de ses choix dans le formulaire, j'aimerais qu'il puisse cliquer sur "valider ce design" et qu'alors, la nouvelle feuille CSS avec ses modifications soit enregistrée et qu'elle fasse office de CSS pour son propre blog.
Je cherche depuis un moment des solutions avec le javascript et le php..
Je viens de trouver dans un code déjà fonctionnel une variable javascript qui semble marcher, mais je ne sais pas comment l'utiliser pour mon propre projet:
function saveCSS() {
document.settingStyle.target="_self";
document.settingStyle.action="valid.html";
}
quelqu'un connaît-il son fonctionnement et peut-il m'aider?
ou avez-vous une autre idée pour enregitrer cette CSS de l'utilisateur?
je vous remercie d'avance.. ;)
Delphine
-
Soit tu reconnais l'utilisateur avec un login et un mot de passe et alors il a un compte géré en php coté serveur, du coup tu peux sauvegarder son css coté serveur
Soit tu passes par les cookies ...
-
bonjour
si j'ai bien compris ton pb, tu veut enregistrer ton css coté serveur !?
je pense que tu ne va pas pouvoir faire cela ! en effet ça reviendrai a dire, faire des modif coté serveur ( enregistrement ) via ton client ( navigateur ) ce qui par definition n'est pas possible !! imagine les pb de sécurité !
pour ma part je vais bientot mettre en place un truck du genre j'avais pensé à faire mes modifs via DOM pour donné un changement des css instantané mais par contre il faut envoyer tes modif de css coté PHP (en POST ou mieux en AJAX ) car lui seul pourra enregistrer ta page coté serveur !!
voila voila ;)
-
je suis allée chercher le code source de l'hébergeur de blogs www.canalblog.com, qui utilise ce système (tu le log, mot de passe, tu as ton compte, et tu modifies tes designs, canalblog enregistre tes modifs et tu peux y revenir quand tu veux..)
mais je n'ai justement trouvé dans le code que ce petit paragraphe parlant de l'enregistrement de la CSS;
function saveCSS() {
document.settingStyle.target="_self";
document.settingStyle.action="/cf/my/?nav=blog.template.style&bid=166007&zone=z1&ac=1&tid=576076&save=1";
}
ce système dont tu me parles, c'est en gros ce que j'imaginais, cette facon d'enregistrer mes modifs en passant par le php..
je vois en gros ce que je dois faire, mais je n'arrive pas encore à le réaliser.. c'est frustrant la prog quelques fois..:roll:
dois-je créer une base de données répertoriant toutes les CSS de mes utilisateurs? et les modifications une fois apportées, la nouvelle CSS remplace l'ancienne dans la BDD? ou je suis complètement à côté?
merci pour ces quelques dernières infos ;)
-
re
en faite tu as de multiple solutions :
1/ tu pourrai comme tu dis stocker ce css dans une base et le reécraser en fonction du parametrage utilisateur.
2/ version plus complexe une fonction a base d'expressions réguliere qui te changerai les infos css dans la page avec bien entendu les parametres stockés dans la base mais bien rangé ( genre un champs pour chaque parametres css ).
( enfin si tu connais peu les expressions réguliere t'embarque pas la dedans )
3/ et enfin la troisieme que moi perso je ferai c'est faire une jolie table avec mes différentes infos css, une fonction php qui les recupéres et me construit ma page css que tu enregistre au bon endroit !!
( plusieurs avantages : d'abord c'est propre et si tu rajoute des styles ben tu as deja la structure , ensuite il peut modifier comme il veut son css et ensuite tu stock dans ta base des infos et non pas un gros paquet de code qui je pense peut etre dangereux , ta toujours un caractére spécial a la con! qui te plomb ton code !!
voila !! bon courage
-
super, merci beaucoup!
je vais envisager ces trois solutions, histoire de comprendre un peu mieux le fonctionnement de ce système.
Mais c'est vrai que la troisième solution semble plus propre et plus facile d'accès par la suite (car je crée ce formulaire, mais quelqu'un d'autre en sera le modérateur par la suite.. il serait donc vraiment chouette que cette présentation soit très claire pour cette personne ensuite..)
Bon, il ne me reste qu'à me lancer dans l'apprentissage un peu plus approfondi de BDD, histoire de faire quelque chose de bien rangé.. pffiiiou, la semaine commence bien ;)
Merci en tout cas pour ces pistes, ca répond à mes questions!
A très bientot, je reviendrai sur ce forum très chouette ;)
Bon apres-midi!
Delphine