Techniki Zaawansowane i CMS
4 godz. 45 min · Webflow · UI, UX i Webdesign
Grzegorz RógIdea ArchitectDzięki CMS masz możliwość zdefiniowania w ramach Webflow bazy danych wraz ze strukturą, którą możesz uzupełniać Ty lub osoba zajmująca się rozwojem strony, w ramach intuicyjnego modułu Editor, bezpośrednio w przeglądarce. W Kursie przyjrzymy się temu, jak działa CMS, jak tworzyć kolekcje i korzystać z dynamicznych danych w ramach podstron w Webflow, jak również w ramach stron kolekcji.
Rozpoczniemy od stworzenia systemu identyfikacji dla naszej strony, który umieścimy w ramach Style Guide w Webflow, dzięki czemu kolejne modyfikacje stylistyczne będą łatwe i dziedziczone na wszystkie podstrony naszego serwisu. Dobre przemyślenie struktury i komponentów pozwoli nam na wydajną pracę w Webflow i szybkie poprawki.
W Kursie przygotujemy od podstaw strukturę danych bloga, użyjemy dynamicznych placeholderów a następnie osadzimy bloga w ramach istniejącej, statycznej witryny, którą przygotowaliśmy w kursie podstawowym Webflow. Dowiesz się wszystkiego o tym, jak działa CMS i jak wykorzystać jego bardziej zaawansowane możliwości.
Poza tym, w kursie przewidziałem szereg lekcji, które pozwolą Ci wzbogacić funkcje Twojego serwisu o logikę biznesową, którą stworzymy bez konieczności używania języków serwerowych. Zbudujemy wyszukiwarkę opartą o elastic search, czyli najlepszy otwarty system do indeksowania i zwracania wyników.
W kursie pokażę Ci też kilka rozwiązań, które pozwolą rozbudować możliwości Twojej strony o przydatne automatyzacje, w ramach których wykorzystamy takie narzędzia jak Zapier czy Integromat. Dzięki temu będziesz mógł wyjść poza ekosystem Webflow i wpiąć na swoją stronę, bez kodowania, w zasadzie dowolne narzędzie, z pomocą API!
Kurs przygotowałem przede wszystkim dla osób, które znają już podstawy Webflow i potrafią stworzyć w tym narzędziu dowolny layout, ale chcą wzbogacić swoje projekty o dynamiczne dane i zaawansowane narzędzia, które oferuje ta platforma. Konieczne są tu solidne fundamenty Webflow z kursu podstawowego oraz przynajmniej podstawy HTML i CSS. Nie zaszkodzi trochę wiedzy z programowania, choć nie jest to obowiązkowe. Ten kurs to świetny sposób na to, aby przygotować funkcjonalne MVP swojego produktu, ale też zacząć oferować klientom dynamiczne strony i funkcjonalność CMS w połączeniu z narzędziami no-code, które pozwala tworzyć projekty w rekordowym czasie!
Ok, wygląda na to, że w poprzedniej lekcji
trochę się zapędziłem, ponieważ zrobiłem dwie Style Guide Section, czyli zarówno tekst jak i kolor w
jednej sekcji, czyli wrzuciłem to wszystko do jednego kontenera.
W związku z tym naprawiłem tę pomyłkę,
skopiowałem sobie całe Style Guide Section i wyrzuciłem niepotrzebne elementy tak, żeby mieć dwie.
Teraz tutaj mamy sekcję Color, tutaj mamy sekcję Typography i to jest potrzebne
dlatego, że dla tej sekcji musimy nadać odpowiednią nazwę.
Tutaj nie będzie Typography, ale Color.
No i oczywiście podlinkujemy ją w
odpowiednim miejscu z menu, czyli tutaj przejdziemy do sekcji Color.
No właśnie tak to powinno być.
Teraz możemy już stworzyć sobie kolejną sekcję, czyli jeszcze raz skopiuję i wkleję
to. Następnie w ramach tego kontenera zostawię sobie tylko tytuł.
Wszystkie kolory usunę stąd.
One mogły też by być w jakimś pojedynczym kontenerze.
Ale to jest struktura, która nas interesuje.
I ta sekcja to będą komponenty (Components).
Od razu podlinkuję to w dobrym miejscu do menu. Wybieramy Components i wchodzimy do środka,
następnie zmieniamy nazwy, czyli ogólnie cały Heading 2,
tutaj to będzie Components
i będziemy mieli informację o tym, czym są komponenty na naszej stronie. To są takie
podstawowe elementy, z których budujemy i będą to np.
takie rzeczy jak Button'y, czyli stawiamy tutaj sekcję Buttons.
Jeśli przejdziemy do naszej strony, do strony głównej, wybieramy polecenie Home, to
okaże się, że na tej stronie głównej znajdują się już jakieś przyciski i to
właśnie z nich będziemy chcieli skorzystać.
Mamy jeden przycisk Button Big, który jest
symbolem. Komponenty to są generalnie symbole, ale specjalnie nie użyłem tej
samej nomenklatury co w Webflow dlatego, że niekoniecznie komponent musi być symbolem.
Symbol przypominam w Webflow to jest coś co zamykamy jako taki Master symbol.
Następnie wystawiamy jakieś właściwości, które da się łatwo zmieniać, a inne
właściwości trzeba zmienić po wejściu do środka, do edycji takiego Master symbolu.
Dzięki temu, że mamy Master symbol, reużywając jego instancji na poszczególnych podstronach,
będziemy mogli zmienić to w jednym miejscu i zmieni się wszędzie.
Natomiast sama idea komponentów moim zdaniem jest trochę szersza.
Nie jest wcale powiedziane, że musimy mieć
coś takiego jak symbol w Webflow, żeby coś było komponentem.
Przykładowo mamy Feature block i moim
zdaniem ta klasa jest na tyle uniwersalna, że to jest taki mały komponent, czyli nie
musi to być zamknięte dodatkowo w symbol, ponieważ tutaj jeszcze mamy jakąś
możliwość edycji tych elementów, nie musimy wcale zamykać części właściwości do edycji,
żeby uznać, że jest to jakaś reużywalna część naszego systemu. Więc można powiedzieć, że
komponenty są o tyle szersze co symbole w Webflow, że możemy tam mieć symbole, ale
też takie uniwersalne klasy, uniwersalne jakieś kafelki, z których będziemy
korzystać i wcale nie musimy ich zamykać w symbole.
I powstaje tutaj w ogóle pytanie o sens symboli w Webflow.
Czy w ogóle robić symbole czy nie. Są do tego różne podejścia,
tak szczerze mówiąc, bo właśnie ten sam cel można osiągnąć wyłącznie na klasach.
Natomiast symbole potrafią być pożyteczne,
zwłaszcza dlatego, że jeżeli wystawimy naszą stronę do edycji dla osoby
postronnej, to będzie ona miała jakieś uprawnienia,
to w symbolach będzie mogła edytować tylko to co wystawimy, czyli tylko to co będzie
tutaj. Nie będzie mogła zmienić wszystkich
elementów. Natomiast jeśli nie będzie to symbol, będzie ona miała odpowiednio
większe możliwości edycji, których nie możemy w ten sposób zawęzić.
Także, czy będziemy mieli symbole, czy jakieś takie reużywalne bloki,
Moim zdaniem to wszystko są komponenty.
Więc w pierwszej kolejności możemy przejść do Style Guide'u i dodać w sekcji komponentów
przyciski, które są symbolami, czyli wybieram a trzy razy i tutaj mam Button BIG.
Następnie mogę jeszcze trzy razy wybrać kolejny Button i kolejny Button.
Mamy takie trzy typy symboli dla Button'ów, ale
dodatkowo, nie widzę problemu w tym, żeby przejść jeszcze na stronę główną i
skopiować sobie ten Button, który co prawda nie jest symbolem, można go zamknąć w
symbol, ale może nie ma wcale takiej potrzeby, skopiować go stąd i wrzucić też
do Style Guide'a tak, żeby pojawiał się w sekcji Button'ów właśnie w tym miejscu. Jest
on trochę inny, ponieważ ma cień, więc to nie jest do końca tak, że np.
dostylujemy go tą klasą z naszym kolorem BG
i będzie już dobrze wyglądał. Po prostu to jest inny rodzaj przycisku i wtedy możemy
go spokojnie wrzucić sobie tutaj jako osobny komponent, więc mamy Button'y.
Kolejna rzecz, którą zrobimy w ramach tych
komponentów, to możemy sobie przykładowo zrobić Feature Blocks.
Jeśli uznamy, że to są rzeczy, które moglibyśmy reużywać, to dlaczego by ich nie
zrobić właśnie w ten sposób. Czyli możemy zrobić coś takiego jak znowu jakiś div,
który będzie techniczny i możemy powiedzieć, że to jest komponent wrapper
i do środka do tego komponent wrappera możemy wstawić to, co znajduje się w
w sekcji Home. Skopiować sobie cały ten Feature block pierwszy, a następnie
wrócić do Style Guide'u i wrzucić go dokładnie w to miejsce.
Tutaj, wybieram ctrl + V
i w ten sposób cały nasz Style Guide staje się dużo bardziej pojemny.
Dużo, więcej rzeczy możemy stąd pożyczyć.
Jedyny problem jaki tu jest to, że nie mamy jakiś odpowiednich odstępów, ale to też
właśnie dlatego wrzuciłem to w Component wrappery,
teraz mogę dla takich Component wrapper'ów ustawić sobie np.
margines z góry i z dołu.
W zasadzie w te same Component wrapper'y
można było zamknąć przyciski, czyli zrobimy
tutaj technicznego div bloka, któremu nadamy tę samą klasę Component wrapper.
Teraz powielimy to jeszcze trzy razy i powrzucamy przyciski do środka,
do Component wrapper'ów. Można to zrobić stąd albo można to zrobić też chyba trochę
łatwiej stąd, czyli pierwszy, to będzie drugi przycisk,
to będzie trzeci stan disabled i to będzie
czwarty. W ten sposób mamy przyciski w osobnych liniach i w Component wrapperze, który
dodatkowo ma jakiś margines. Gdybyśmy potrzebowali to zrobić np.
tu, też możemy powkładać to w jakieś Component wrappery i w ten sposób te rzeczy będą
rozsunięte, jeżeli potrzebujemy więcej przestrzeni w ramach Style Guide'u.
No dobra to mamy następny element,
czyli Feature block'i. Co jeszcze powinniśmy zrobić?
Myślę, że na przykład możemy skorzystać z
tych FAQ item'ów, które znajdują się na stronie głównej.
I tak samo zrobić sobie Submenu block, czyli
tutaj FAQ item'y one co prawda znów nie są komponentami, ale są takim elementem, który
może być reużywalny, dodatkowo one działają, fajnie się rozwijają, więc mają jakąś
funkcjonalność i to jest właśnie dobry pomysł, żeby cały taki FAQ item sobie stąd
pożyczyć i przejść do Style Guide'a, a następnie zrobić dla niego nawet osobną sekcję.
FAQ item wklejam tutaj
z pomocą cmd+V no i teraz warto się zastanowić nad jedną rzeczą - czym w
ogóle są komponenty, gdzie przestać, gdzie postawić kropkę
w dodawaniu rozmaitych komponentów.
Oczywiście możesz dodać masę różnych
rzeczy, ale jeżeli kochasz Atomic design to tutaj powinny rzeczywiście znaleźć się
takie molekuły, nie całe zestawy, czyli jakby atomy połączone ze sobą, czyli mamy np.
tekst połączony z jakimś tłem, który tworzy guzik.
Jest to jakaś molekuła, natomiast większe całości, czyli już systemy, layout'y,
nie powinny się tutaj znaleźć i chciałbym na to stworzyć kolejną sekcję, a dobrym
rozróżnieniem, które mogę Ci pokazać jest na stronie głównej menu.
No, bo możemy się zastanawiać, czy to menu powinno być całe jednym, dużym komponentem.
Moim zdaniem nie powinno być komponentem, który wstawimy do Style Guide'u do sekcji Components.
To co mogłoby być komponentem, który możemy wstawić, to jest np.
jakaś taka dropdown lista albo ewentualnie
ten element, który właśnie mamy zrobiony jako symbol, czyli ten element
Submenu block. To jest naprawdę dobry pomysł na to, żeby ten Submenu block jako element
właśnie menu wstawić do Style Guide'a, do sekcji komponentów. Zróbmy może to
i zrobię na niego kolejny nagłówek, nazwę go Submenu block.
Dokładnie tak.
Wstawię do Submenu block dokładnie ten symbol.
Zobacz jak on wygląda i to nie jest całe menu.
To jest tylko jego element, który co prawda działa, w jakiś sposób jest funkcjonalny.
Natomiast jest to element menu.
Ale całe menu też fajnie by było wstawić,
natomiast nie do tej sekcji Components. Potrzebowalibyśmy stworzyć kolejną Style Guide
Section, czyli klikamy cmd+C, cmd+V i to jest właśnie coś co nazwę Sections.
I w Sections upewnimy się, że też nadamy odpowiedni identyfikator, z małej litery
pisane sections i podlinkujemy to do Menu.
I tutaj będą właśnie całe takie moduły, czyli, najpierw usuńmy wszystko co mamy
poniżej H3, czyli przykładowo cały Footer, cały Header, cały jakiś Footer alternatywny
czy Header alternatywny, który będziemy tworzyli dla bloga właśnie znajdzie się w sekcji.
Jeśli wybierzesz a w Webflow, to też masz tutaj coś takiego jak symbole, gdzie
tworzymy pojedyncze symbole i też masz layout'y.
No i właśnie to jest to rozróżnienie, czyli
sekcje to będą bardziej layouty, które mogą składać się np.
z kilku symboli naraz albo z jednego symbolu
i z jakiegoś dodatkowego akapitu tekstu czy z nagłówka.
Więc to będą layout'y i ja to nazywam sekcjami.
Możesz to też nazwać Layouts.
I to będą całe bloki reużywalne, takie jak np.
menu czy footer. Natomiast w komponentach będą rzeczywiście mniejsze elementy całości,
które mogą się przydać również poza tymi sankcjami, poza layout'ami.
Mam nadzieję, że rozumiesz tę subtelną, ale
jednak różnicę. Dodajmy tutaj jeszcze opis właściwy do sekcji.
I pierwsza rzecz, którą możemy zrobić to możemy tutaj np.
dodać cały Header Seciton, który moim zdaniem
jest to coś co może wylądować w tym miejscu.
Jeśli przejdziemy do symboli to mamy tutaj Header Section, mamy 5
instancji takiego symbolu na stronie i wydaje mi się, że on właśnie bardziej
pasuje jednak do sekcji. To jest jakaś część naszej strony, jakaś taka sekcja
naszej strony, która składa się z kilku niezależnych elementów, aniżeli do
komponentów, które tworzą jakąś taką jedną zgraną całość.
Natomiast no chyba jeszcze prostsze rozróżnienie jest właśnie wtedy, kiedy
dodamy tutaj header and footer czyli header zrobimy sobie.
Idziemy teraz na stronę Home, a następnie weźmiemy stąd nasz header albo sam navbar.
Możemy to zrobić w ten sposób, że
weźmiemy samo menu, a następnie przejdziemy do Style Guide'u i wkleimy je w odpowiednią
część, czyli tutaj pod header footer, po prostu wrzucimy sobie navbar.
I już jest widoczny.
I jeszcze wrócimy po footer, czyli przechodzę do Home.
Jak widziałeś Header nie był symbolem,
natomiast footer, z tego co pamiętam jest symbolem, rzeczywiście. W zasadzie
naprawdę nie ma to większej różnicy. Jedyna
sprawa fajna to taka, że z symboli będziemy mogli korzystać z tego panelu, czyli footer
bardzo łatwo wstawić na jakąś inną stronę po prostu stąd. W przypadku header'a będziemy
musieli się udać do tej strony Style Guide i następnie go skopiować i wkleić,
aczkolwiek niektórych elementów tak jak np.
naszego header'a nie można zrobić w postaci symbolu, ponieważ on już zawiera w
środku symbole, a nie można jednego symbolu wkładać w inne.
Więc tutaj akurat pozostaje nam taka opcja. Natomiast w przypadku footer'a będziemy mieli
trochę inny problem, mianowicie nie można jednego kontenera wstawić w drugi.
Gdybym chciał teraz do tej sekcji wkleić
footer, to mamy informację o tym, że jednej sekcji nie można wstawić w drugą.
Więc to, co robimy, to po prostu
przechodzimy do body i wklejamy to tu. Zostanie to po prostu wklejone poza sekcją,
nie ma problemu. Na dole to zawiera inną sekcję, więc po prostu nie można tego
połączyć razem, ale jest i jest gotowe do tego, żeby
zaznaczyć sobie taki element skopiować go i przerzucić, gdzie indziej, więc
w ten prosty sposób stworzyliśmy funkcjonalny Style Guide. Ten Style Guide będzie
naszym repozytorium elementów, kolorów, nagłówków, jednocześnie ostylowaliśmy,
stworzyliśmy wiele klas, które będą reużywalne w kolejnych częściach layout'u.
No i dodatkowo ten Style Guide oczywiście też jest stroną,, która jest wystawiona.
Możemy go komuś wysłać, ktoś może sobie
przejść do sekcji Color i zobaczyć wszystkie nasze brand kolory.
Jeżeli będzie chciał to może skopiować wartość szesnastkową.
Może zerknąć sobie do komponentów, może przykładowo zobaczyć nawet efekty Hover,
może zobaczyć jak działają animacje na tych poszczególnych elementach, może
zobaczyć efekt rozwijania FAQ item'a, więc to wszystko jest żyjące i to działa.
W momencie, gdy będziemy to edytować tutaj
będzie też automatycznie zmieniać się na poszczególnych podstronach naszej witryny, no
oczywiście pod warunkiem, że nie zmienimy, nie odepniemy tego z symboli i nie pozmieniamy
klas, które stworzyliśmy tutaj w Style Guidzie.
Co prawda nasza strona nie jest jakaś bardzo rozbudowana, nie ma np.
wielu pól formularza, które też powinny się
znaleźć w takim Style Guidzie i ich stylów oraz różnych elementów, ale
wydaje mi się, że stworzenie ich i dodanie tutaj byłoby już powtarzalną czynnością.
Bardziej chodziło mi o to, żebyś zrozumiał to jak taki Style Guide może funkcjonować i
zrozumiał jego wartość, że teraz mamy wszystkie elementy w jednym
miejscu, możemy je kopiować i wklejać na poszczególne podstrony.
Natomiast zmiana tutaj pozwoli nam to zmienić wszędzie.
Może to też być początek takiego Style Guide'a,
który będziesz używał nawet razem z zespołem do tego, żeby utrzymywać strukturę
twoich projektów i żeby ta struktura była zgodna z ewoluującym
Brand book'iem czy jakimiś wytycznymi,
jakimiś stylami dla Twojej firmy, dla twojego projektu.
Na razie nie ma możliwości współdzielić
takich Style Guide'ów pomiędzy różnymi projektami w Webflow.
To byłoby na pewno ciekawe.
Możemy na pewno coś takiego udostępnić i
pracować nad tym w zespole, z pomocą tej opcji udostępniania projektu.
Czyli mamy możliwość zaproszenia osób,
które będą razem z nami współtworzyć taki Style Guide.
Natomiast nie ma możliwości zrobienia osobnego Style Guide'u
i później np.
podlinkowania go do całego konta Webflow albo szeregu projektów w Webflow.
To jak to się odbywa, będziemy musieli dalej skopiować wszystkie rzeczy, które
tutaj są, ale możemy to zrobić nawet stąd, na zasadzie copy-paste.
Możemy sobie wszystko skopiować i wkleić do
nowego projektu, do nowego Page'a Style Guide.
Tyle, że wtedy niestety zmiana kolorów wymaga zmiany we wszystkich Style Guide'ach
jeśli mamy różne projekty, aczkolwiek
szczerze mówiąc, to też w tym momencie chyba nie stanowi, aż tak dużego problemu.
Ciekawą opcją jest też możliwość udostępnienia komuś linku do Designera.
Możemy stworzyć taki link i wybrać polecenie copy, a następnie go komuś
wysłać i wtedy nie tylko w takim widoku na stronie, czyli po prostu pod adresem.
W ten sposób będzie można przeglądać sobie taki Style Guide, ale można będzie również zobaczyć go
w Designerze, czyli zobaczyć rozmaite właściwości elementów.
To jest zwłaszcza przydatne dla webdeweloperów, którzy mogą zobaczyć taki przygotowany przez Ciebie
Style Guide i skopiować sobie jakieś właściwości np.
do aplikacji natywnych, czy jakiegoś innego projektu, który tworzą, ale niekoniecznie będą w
stanie cokolwiek popsuć, ponieważ osoby które nie są zaproszone z pomocą tego
invite link'u będą miały tylko tryb "view only", więc to jest kolejna fajna opcja.
Jednocześnie wszystko co chciałem
powiedzieć na temat tworzenia Style Guide'u, który być może będzie ewoluował w
kolejnych etapach w jakiś design system, który będziesz tworzył w Webflow.
Do usłyszenia.