1

Ceci est une question assez simple.Rails Donner à chaque utilisateur sa propre feuille de style personnalisable

J'ai des utilisateurs dans mon application Rails3. Je souhaite donner à chaque utilisateur la possibilité de personnaliser sa feuille de style à l'aide d'un formulaire afin qu'il puisse avoir ses propres thèmes. Je me demandais comment faire pour que cela se produise et quelle est la meilleure façon de le faire?

Aurais-je besoin d'utiliser LessCss et si oui, puis-je passer des variables d'un contrôleur à la feuille de style lesscss?

+0

duplication possible de [Feuille de style CSS sélectionnée par l'utilisateur dans Rails] (http://stackoverflow.com/questions/2215305/user-selected-css-stylesheet-in-rails) –

+1

Bonjour Daniel, ce poste, bien que pas utile parler de l'ajout d'une feuille de style "éditable" mais seulement 1 qui a déjà été pré-édité par le propriétaire du site. AKA un thème pré-fait. – jim

Répondre

1

Malgré cette idée terrible, je suppose qu'un moyen facile de le faire serait d'ajouter une table CSS et la mapper à l'utilisateur avec un enregistrement pour chaque fichier CSS. Lorsqu'un nouvel utilisateur est créé, vous créez de nouveaux enregistrements pour chaque fichier en utilisant le CSS par défaut.

Pour éditer vous pouvez présenter l'utilisateur avec le texte CSS sur une page avec un exemple de mini-page où ils pourraient voir les changements se produire en direct. Vous devrez ensuite charger dynamiquement le CSS, ce qui pourrait être un énorme succès sur votre base de données, donc vous voudriez ajouter de la mémoire à l'appel pour récupérer le CSS.

Encore une fois cependant, c'est une idée horrible à mon avis. Que se passe-t-il lorsque l'utilisateur commet une erreur et qu'il ne peut pas utiliser le site parce qu'il a une mauvaise valeur? Ils ne peuvent pas le changer parce qu'ils ne peuvent rien voir alors que font-ils? Ils ne reviennent jamais.

Vous feriez mieux de leur permettre de choisir parmi un ensemble de thèmes autorisés. Mais bon, c'est votre site web, vous en faites à votre guise.

+0

Bonjour Pickle, je comprends ce que vous dites et j'ai réfléchi à la façon dont je veux le faire. Je comprends déjà comment le faire comme vous l'avez suggéré avec seulement des thèmes. Je peux faire un terrain d'entente qui leur offre la possibilité de changer les couleurs ou les couleurs d'arrière-plan de certains éléments grâce à un sélecteur de couleurs. Je voudrais juste que ces couleurs soient définies en ligne pour remplacer le CSS actuel. J'apprécie la réponse. Merci! – jim

Questions connexes