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!
Cześć! Witaj w kolejnej lekcji. Przed nami następna strona. Zrobimy tym razem
statyczną stronę wszystkich postów. To będzie bardzo proste, aczkolwiek stąd
musimy pożyczyć sobie parę elementów, żeby łatwiej nam się pracowało.
Cały ten element Fixed w zasadzie możemy nazwać go Blog menu, bo to jest nasze
alternatywne menu dla bloga, a następnie zapisać go jako symbol
Wybieramy "a", w Symbols możemy wybrać polecenie Create new symbol albo po prostu prawym
przyciskiem myszy na tym elemencie kliknąć i wybrać polecenie Create symbol. Tutaj z menu
nie jest to możliwe, ale, jeżeli klikniemy na tym elemencie to wybieramy
teraz Create symbol i nadajemy mu nazwę Blog menu.
I takie menu już będziemy mogli
wykorzystać na wszystkich kolejnych podstronach.
W związku z tym przechodzimy do podstrony
Blog all posts i w pierwszej kolejności właśnie umieścimy tutaj to menu Blog menu.
Kolejna sekcja, którą możemy w zasadzie pożyczyć sobie z bloga jest to ta sekcja Hero.
Mamy Section blog hero i mogę całe to skopiować,
a następnie wkleić do Blog all posts i, jeżeli będę dokonywał jakichkolwiek
modyfikacji no to warto będzie dodać tu dodatkową klasę.
Czyli chciałbym teraz wejść do środka i w
zasadzie usunę cały ten Collection wrapper. Mamy coś takiego jak Blog hero title.
Zobaczmy tę klasę.
Mamy Blog hero title i Card big.
W zasadzie tutaj chciałbym umieścić jeden
dodatkowy element, czyli z symboli wybiorę Header section
i dzięki temu, że Blog hero title ma ustawione Display na flex i to się
wyrównuje do środka to wszystko działa poprawnie.
Należałoby dla tego symbolu przejść w jego ustawienia, a następnie wpisać tutaj
odpowiednie treści, czyli tutaj dodamy sobie Alll articles,
tutaj w zasadzie będzie tylko wpisane blog, a ten tekst możemy na razie zostawić.
Natomiast chciałbym na Blog hero title
dodać jeszcze jakiś ekstra margines i ma on już specyficzne klasy, ale wybiorę
Cmd + Return, Ctr + Enter i wpiszę tutaj dodatkowo All pages,
To znaczy, że, mogę nawet pisać Blog all pages,
będzie to po prostu wariant specyficzny dla tej strony
Blog all pages, dzięki temu nie popsuję tego co miałem na poprzedniej stronie
bloga, a będę mógł dodać sobie odpowiednio Padding z góry i z dołu za altem to zrobimy
dla tej sekcji All articles dodamy 70, zróbmy sobie 80 pikseli Paddingu i od góry i od dołu.
No i świetnie. Mamy to gotowe,
a teraz przejdźmy do ustawienia kafelków.
Kafelki oczywiście też znajdują się na blogu, możemy je stąd pożyczyć.
Co więcej możemy nawet całą tę kolekcję,
Czyli to Collection list wrapper i koniecznie musimy zaznaczać całe
kolekcje, bo jeżeli będziemy chcieli wyciąć coś ze środka z kolekcji np.
item, to niestety Webflow nie pozwoli nam tego zrobić wkleić w inne miejsce,
a przynajmniej we wszystkie miejsca, więc
cały Collection list wrapper możemy sobie stąd wziąć i na przykład również wstawić do
naszego Style guide'a. Tu mam sekcję z tymi Cards, czyli to jest w zasadzie dobre miejsce
żeby to umieścić w tym kontenerze, możemy sobie to wkleić.
Może zmienimy tę nazwę Collection list
wrapper na jakąś trochę bardziej intuicyjną np.
Blog cards wrapper
i teraz będziemy mogli sobie z tego skorzystać. W przypadku tej strony Blog all posts
mogę nawet skorzystać z trochę szerszej struktury z bloga. Wejdźmy
jeszcze na chwilę na tę stronę i skopiować to razem z tą główną sekcją i kontenerem,
czyli mógłbym cały ten Blog category section sobie skopiować. To jest
odpowiednia rzecz, żeby ją wkleić właśnie w Blog all postach,
natomiast będziemy musieli oczywiście zmienić strukturę wyświetlanych postów.
Na razie wklejam to tutaj i rzecz jasna pozbyć się niepotrzebnych
elementów, czyli tej Header section jak również tego CTA button wrapper.
Mamy teraz Collection list wrapper, który ma
specyficzne ustawienia, a jedyną rzeczą, którą musimy tutaj zmienić to tak naprawdę
wyłączyć opcję Limit items. Jeśli to zrobię Voila! - mam wyświetlone
wszystkie wpisy i to co jeszcze można by było dostosować, jeżeli chcę zmienić trochę tę
sekcję Cmd + Return i znowu tworzę sobie klasę Blog all posts zwykle właśnie taką,
która jest specyficzna dla tej strony bo np.
tutaj będziemy mogli zmienić ten margines
i trochę go zmniejszyć, a widzę, że on nie działa dlatego, że jest ustawiony też
margines na tym elemencie Section blog hero, to tutaj też moglibyśmy to zrobić.
To jest specyfika CSSa zapadanie marginesów.
Możemy tutaj wpisać Blog all posts
Blog all posts, też stworzyć taką combo klasę i na
tym elemencie zmniejszyć margines i wtedy jak zmniejszymy na tym elemencie np.
na tym możemy go ustawić nawet na 0, wybierzmy wartość 0.
I teraz ten margines, który mamy na Blog category section będzie determinował
rzeczywiście
jaki jest odstęp pomiędzy tymi elementami. Możemy zostawić to sobie tak. Myślę, że jest
w porządku i to co możemy jeszcze dodatkowo zrobić, ponieważ na naszym blogu
może być naprawdę mnóstwo wpisów, to chciałem pokazać jedną właściwość Collection list
wrappera. Na kolekcji można ustawić coś takiego jak Pagination, czyli paginacja.
Jeśli włączymy Paginate items będziemy mogli zadeklarować ile item'ów,
Ile tych wyświetlanych elementów z CMSa
chcemy mieć na jednej stronie. My chcemy mieć np.
5 i wtedy zobacz, że będziemy mieli 2 strony,
możemy Preview czyli podgląd każdej strony wyświetlić, ponieważ mamy 10 postów
zamockowanych no to, jeśli podzielimy to na 5 wyników możemy zrobić sobie np.
8 wyników albo nawet 9 po to, żeby było to na pierwszej stronie wyświetlane
równo, czyli żebyśmy mieli równo 3 rzędy i później przycisk Next będzie prowadził
nas do kolejnej strony, w tym przypadku będzie na niej tylko jeden wynik.
No i ten przycisk oczywiście możemy też
sobie dostylować, czyli przejdziemy do tego przycisku. Zobacz, że mamy możliwość
jeszcze włączenia dla niego takiej opcji Show page count,
czyli w momencie kiedy będziemy na drugiej
stronie mamy informacje pod spodem, że jest to strona druga na dwie, wcześniej mamy
informację, że jest to strona pierwsza na dwie.
Jeśli chodzi o właściwości, o opcję tego przycisku, to w zasadzie to wszystko.
Natomiast rzecz jasna można go ostylować,
czyli mamy dwa przyciski Previous i Next
W takiej sekcji paginacja i ewentualnie właśnie to Page count,
więc możemy dowolnie zmienić style tych elementów.
Zaznaczam teraz guzik Next, wybieram Cmd + Return i wpisuje dla niego klasę.
Będzie to Button big, a jeszcze dodatkowo
Cmd + Return zrobimy na to klasę Outline i to będzie taki specyficzny wariant
przycisku, który mamy już przygotowany w Style Guidzie.
Wygląda bardzo spoko i możemy to samo zrobić na tym przycisku Previous, co
prawda go teraz nie widać, musielibyśmy przenieść się na drugą stronę.
W ten sposób teraz możemy do tego przycisku dodać tę samą klasę,
czy te same dwie klasy Button big i jeszcze Outline.
Ok no to teraz mamy gotowe przyciski.
Można by było jeszcze zająć się tym komponentem Page count,
ale szczerze mówiąc ja go po prostu wyłączę, nie będę go stylował.
On jest taki skomplikowany, natomiast sama
paginacja warto, żeby dostała też jakąś dodatkową klasę np.
Blog pagination
i do niej możemy dopisać sobie jeszcze jakiś margines np.
w ten sposób.
Teraz zobaczmy jak to będzie działać w podglądzie.
Jeżeli kliknę Previous
to przechodzę na stronę poprzednią, a jak kliknę Next to przechodzę na
stronę kolejną z wpisami, także wszystko działa zgodnie z oczekiwaniami.
Jeśli chodzi o jakieś inne opcje paginacji
np. wyświetlanie jakichś różnych stron w postaci numerów 1, 2, 3, 4 nie jest
to możliwe. Opcje, które są dostępne są po prostu tutaj, możemy z nich skorzystać.
To co możemy zrobić to jeszcze oczywiście
zarządzać opcjami sortowania dla całego Collection list wrapper'a.
Mamy tutaj sortowane od najnowszego do najstarszego wpisu, jeżeli chcielibyśmy to
jakoś inaczej zrobić, możemy to zrobić. W tym przypadku jest to akurat w porządku.
Więc w ten prosty sposób stronę mamy prawie gotową.
I jeszcze dodamy tutaj kolejny symbol czyli Footer, który pojawi się na dole i to
wszystko. Zobacz, że z gotowych komponentów
zaczynamy już coraz szybciej składać poszczególne strony.
Ta strona jest nazwana np. All posts,
może nie jest to najszczęśliwsza
nazwa, ale zauważ, że dzięki temu, że zrobiliśmy to w Blog menu, to teraz All posts
możemy zmienić na All articles i zostanie to zmienione wszędzie, czyli
zarówno na tej stronie, jak również na stronie bloga, będziemy mieli zmieniony ten
link na All articles, więc wszystko działa jest dynamiczne i ułatwia nam w
maksymalnym stopniu zmiany w przyszłości. To wszystko w tej lekcji. Do usłyszenia!