Dynamiczna zmiana styli, zmiany nadal po odświeżeniu, node js

0

Witam,
Chciałbym, aby admin mógł dynamicznie zmieniać style w panelu admina, a zmiany zapisywaly się i były widoczne dla wszystkich. Używam express i mongodb. Jest możliwość wczytywania styli z bazy danych i tam m9dyfikowania ich? Czy jest jakiś prostszy sposób aby zmiany nie znikały po odświeżeniu strony?
Z góry dziękuję i pozdrawiam

1

Jako admin puszczaj Event do wsyzstkich zalogowanych - wykorzystaj do tego sockety (google-> express nodejs socket communication czy jakoś tak) i tyle. Jak po stronie klienta wykryjesz, że nadszedł event to za pomocą JS'a podmieniasz style i tyle.

0

Dziękuję za odp. Rozumiem, ostatnio przerabiałem tutorial z socketami jako czat i zmiany były widoczne dla wszystkich. A nie ma możliwości żeby z bazy danych style ładować i też tam je zmieniać w razie potrzeby? czy to nie jest zbyt wydajne? dzięki

0

W czym piszesz front?

0

Teraz dopiero przerzuciłem się na React i chyba wszystko łatwiej pójdzie, sorry za tak późną odpowiedź

0

Możesz opisać swój use case? Edycję CSS z panelu admina widziałem tylko w Wordpressie..i ciekawy jestem po co komu coś takiego.

0

@Desu: ja może wcześniej źle coś zrozumiałem - założyłem, że chodzi o podmianę styli użytkownikom w locie - tak jakby np teraz admini 4p wrzucili podmiankę cssa - a ja nawet bym nie musiał odświeżać strony by zobaczyć taką zmianę.

A jeśli autorowi chodzi tylko o zwykła edycję - to tak, powinno się to zrobić tak jak w WP, czyli css'a trzymamy w bazie i z niej zaciągamy to dla użytkownikowi.

0

@axelbest: OP chyba chce i jedno i drugie ;)

Czyli podsumowując:

  1. Zmiany, które admin wykona z panelu trafiają do bazy danych. Przy ponownym załadowaniu strony po prostu zaczytujesz dodatkowe style, które znajdują się w bazie i po sprawie. To rozwiązuje Twój problem "aby zmiany nie znikały po odświeżeniu strony".
  2. Jeżeli chcesz, żeby style były również nadpisany wszystkim użytkownikom, którzy obecnie są na stronie, to tak jak @axelbest napisał musisz jeszcze dodatkowo użyć socketów, żeby poinformować przeglądarki użytkowników, że style się zmieniły i czas jest podmienić.
0

Dokładnie tak zrobiłem jak Desu i axelbest napisał :) wszystko działa, style są odczytywane z bazy danych, w locie z za pomocą socketów user zmienia i widzi od razu, a wszystko zapisuje się bazie danych i po odświeżeniu nadal jest :) w zasadzie do niczego nie było mi to potrzebne, dopiero się uczę, ale myślałem, że nawet przy robieniu prostej strony dla klienta dobrze jakby on miał możliwość jakieś edycji strony w prosty sposób, niektórych elementów. na razie jeszcze nic dla nikogo nie robiłem, więc nawet nie wiem czy jest takie zapotrzebowanie ale warto znać takie rozwiązania nawet żeby samemu się pobawić :) dzięki wielkie za podpowiedzi, pozdrawiam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1