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 i możesz być
trochę zaskoczony co tutaj się stało, jak to się stało, skąd się wzięły te elementy.
Czy ja przegapiłem jakąś akcję?
Nie, nie przegapiłeś. Dodałem po prostu te
elementy, ponieważ ich stworzenie zajęło mi 10, czy 15 minut.
Nie chcę tego omawiać, ponieważ jest to wszystko naprawdę bardzo podstawowa wiedza,
wszystko omawialiśmy już wcześniej w tym kursie oraz kursie podstawowym.
Natomiast wolę zamiast tego jak konstruować te elementy, pokazać Ci jak
sprawić, aby fajnie funkcjonowały w layout'cie i dlatego mamy tak - Newsletter wrapper
zobacz na strukturę. Mamy po prostu Paragraph i Form block, który zresztą w ogóle skopiowałem
w całości praktycznie stąd, tylko trochę zmieniłem style. No i Social share
wrapper, który zawiera Paragraph, a później jest techniczny Div block, który zawiera ikonki
social mediów. Oczywiście możesz ich dodać sobie ile chcesz.
One mają taki stan, który pozwala ten stan
Hover, który pozwala po prostu zobaczyć tę aktywną ikonkę i stan normalny, który
pokazuje trochę wyszarzoną. No i tyle.
Bardzo, bardzo prosty element, natomiast
chciałbym pokazać Ci jak można zadokować go w Layout'cie, bo tego jeszcze nie robiliśmy.
W ciekawy sposób. Mianowicie cały ten Side Actions,
cały ten element, chciałbym zmienić jego pozycję, jest to bardzo proste.
Możemy ją zmienić na pozycję Sticky.
Zazwyczaj operowaliśmy na pozycji Fixed w momencie, gdy chcieliśmy coś zadokować np.
na samej górze w Layout'cie i tak zrobiliśmy z menu.
Ale tutaj użyjemy nowej opcji, czyli opcji Sticky.
Ustawienia Position sticky jakie powinniśmy zastosować, to chcielibyśmy, aby przykleił się
ten element do górnej krawędzi przeglądarki. W momencie, gdy użytkownik
zjedzie i zrówna się ten element z górną krawędzią przeglądarki,
chcielibyśmy, aby się przykleił, pozostał w
miejscu i nie scroll'ował się razem ze stroną.
Żeby to zrobić trzeba tutaj po prostu
ustawić górny margines, jakiś offset, możemy go dać na razie na zero.
Zaraz to pewnie zmienimy.
I jeszcze jedna rzecz w kontekście Grid'a,
jeśli będziesz chciał
w Gridzie przyklejać elementy to wypozycjonuj je w opcji Start.
W ten sposób rzeczywiście będzie można to
zrobić i będziemy mogli teraz dojechać do górnej krawędzi okna przeglądarki.
Jeszcze tu nie jesteśmy, ale teraz tu jesteśmy.
Jeśli scroll'uję dalej to zobacz, że teraz ten element będzie zostawał przyklejony.
My oczywiście potrzebujemy jakiś trochę
większy offset i ten offset będzie determinowany tą
wysokością menu i jeszcze może zostawimy trochę oddechu, więc proponuję zrobić tutaj
100 pikseli oddechu i wtedy 100 pikseli powyżej, czyli tutaj już ten element nam
się przyklei i zostanie w tym samym miejscu.
Jeżeli będziemy scroll'ować stronę
zobacz, że odtąd już zostaje, łatwiej będzie to podejrzeć w ogóle w tym
trybie podglądu Preview i on sobie po prostu do końca zostaje.
Nie musimy nawet określać specjalnie jakichż z-indeksów.
Wszystko tutaj, jeździ bez problemu i w ten sposób fajnie sobie ustawiliśmy jego pozycję.
No i tym sposobem strona blog posta jest praktycznie gotowa.
Dlaczego praktycznie? Ponieważ tutaj jeszcze jest jeden element, który powinien
wyświetlać się, a nie zrobiłem go Section blog hero
i jest to Tag,
czyli ten Tag wrapper, który mamy zresztą dostępny np.
na stronie blog.
Będziemy mogli skopiować i go tutaj wklecić, chodzi nam o ten element Tags wrapper,
mógę go skopiować, a następnie przejdźmy na stronę Blog post template.
Możemy wkleić go bezpośrednio do Blog hero title.
Tyle, że w tym momencie, ponieważ jest on
absolutnie pozycjonowany 16, 16 pikseli od lewej górnej krawędzi musielibyśmy zrobić
jego bezpośredniego rodzica, czyli Blog hero title dla tej strony musielibyśmy nadać mu
pozycję Relative I wtedy kontekst pozycjonujący dla tego elementu
Tags wrapper automatycznie staje się nim
Blog hero title, no i to wszystko wygląda w porządku. Tutaj
dodatkowo są wstawione tagi Featured i tagi, które zostały przypisane, więc
wszystkie te właściwości zostały odziedziczone, czyli tutaj jest Condition, Featured
is on, jeżeli ten post byłby Featured to tu rzeczywiście pojawiłby się ten dodatkowy
tag. Możemy to przetestować zresztą, wejdźmy do CMSa, czemu nie.
Może spróbujemy.
Czy to w ogóle działa.
Wejdźmy do tego posta, a następnie
przejdźmy do kategorii Featured, zaznaczmy ją.
No i teraz wybieram polecenie Save.
Natomiast, jeśli zamknę to zobacz, że już tutaj się pojawi,
ale jeszcze nasza strona nie jest opublikowana, żeby te zmiany były widoczne
na stronie musimy jeszcze kliknąć Publish i Publish to select domains.
Jak widać wszystko działa poprawnie, więc mamy stworzoną stronę pojedynczego posta.
Naturalnie do całego bloga można by było
jeszcze trochę rzeczy podorabiać. Można by było stworzyć tutaj przykładowo stronę z
autorami, gdzie ten rekord linkowałby do autorów, wstawiilibyśmy
to jako link, linkowalibyśmy do poszczególnych autorów
i przygotowalibyśmy stronę Authors template albo nawet pojedynczego autora,
gdzie wyświetlalibyśmy jego dane, ale w tym kursie naprawdę nie miałoby to już sensu
pokazywanie Ci kolejnej tej samej czynności. To jest naprawdę powielanie
wszystkich rzeczy, których już się nauczyłeś, więc
nie mówię, że tego nie trzeba przećwiczyć.
Zatem to fajna praca domowa.
Teraz warto, żebyś dorobił tutaj stronę autorów, a także stronę pojedynczego autora i
odpowiednio je podlinkował. Do strony autorów możesz wykorzystać Authors template.
Natomiast stronę pojedynczego autora możesz stworzyć jako stronę statyczną i w
ten sposób przećwiczysz w sobie zarówno te rzeczy związane z CMS collection pages,
jak i ze statycznymi stronami osadzenie tego w trochę inny sposób, korzystanie z
CMSa i będziesz mógł przetrenować również wszystkie te rzeczy, które są w
ustawieniach CMSa, w tym filtry oraz dynamiczne wyświetlanie, o którym mówiliśmy.
W zasadzie teraz zauważyłem jeszcze jedną rzecz, że menu wjeżdża nam pod obrazek.
Więc przejdźmy do jego stylów i musimy teraz wejść do środka do Blog menu.
Całość możemy ustawić dla niego z-indeks, w
zasadzie to jest nasz najważniejszy element powinien być zawsze na górze, więc
możemy nawet dać 1000. Wróćmy do instancji i teraz jest już w porządku.
I ostatnia rzecz, którą chciałbym zrobić na
stronie posta, jest to dodanie tutaj powiązanych z nim postów.
Jeżeli ktoś chciałby czytać dalej posty z
tej konkretnej kategorii, to chciałbym żeby się wyświetliły na dole wpisu.
Możemy to zrobić kopiując sobie odpowiednią sekcję z bloga, czyli np.
ten cały Blog category section możemy
wziąć, pożyczyć i wejść na Blog post template na tę stronę.
Można by było w zasadzie nie korzystać
nawet z tego elementu, tylko wkleić kafelki, ponieważ one
zawierają referencje tutaj do odpowiedniej kolekcji.
Ta kolekcja nie jest wymagana, jeśli
jesteśmy na stronie dynamicznej, ale OK ona może też zostać.
Tyle, że tak chciałbym tutaj może ten
Heading odpiąć jednak z CMSa i po prostu wpisać
Continue reading.
I usuniemy też cały przycisk CTA button
Wrapper. Wrzuciłem to pod footer, więc umieśćmy to nad Footer'em.
A, jeśli chodzi o same posty, to powinniśmy móc dostać się teraz do kolekcji, czyli
Collection list wrapper i możemy tutaj skorzystać z takiego
ustawienia, gdzie mamy Category is software, ale, jeśli jesteśmy na stronie CMSowej to
powinno to również nam wykryć Category of current post.
Więc wtedy będziemy wyświetlali
automatycznie po zasave'owaniu tylko te posty, które są z tej samej
kategorii, w której jest post, który oglądamy. Akurat ten był w tej samej
kategorii, którą mieliśmy, więc spróbujmy jakiś inny.
I rzeczywiście, jak widzisz,
inne posty są wyświetlane. The History of Web on jest w Marketing i widzimy, że
wszystkie tylko i wyłącznie z Marketing są wyświetlane, jeśli coś jest z kategorii
Mobile to tylko te mobilne są wyświetlane i super. To teraz mamy praktycznie całą tę
część gotową. Opublikujmy naszą stronę. Wybieram Publish selected domains.
Jesteśmy jeszcze na razie na subdomenie Webflow, ale zobaczmy jak to wygląda i kliknijmy na
logo Juiceblog po to, żeby przenieść się do głównej strony bloga. Mamy artykułów Featured.
To jest artykuł, który jest oznaczony flagą
Featured i dodatkowo jest najnowszym artykułem na naszym blogu.
Mamy także ostatnie artykuły.
Każdy z tych kafelków da się kliknąć i przejść do odpowiedniego artykułu.
To samo jest we właściwych kategoriach Software, Marketing i Mobile.
Możemy kliknąć View all articles i wtedy przeniesiemy się do strony z wszystkimi
artykułami, której dodatkowo oddaliśmy paginację.
Możemy także poruszać się po kategoriach z poziomu menu Software, Marketing, Mobile i
Blockchain i też mamy tutaj wyświetlane wpisy, też są one z paginacją.
Jeżeli wybierzemy konkretny wpis, to wtedy
przeniesiemy się do jego właściwej strony, gdzie wszystkie dane też są pobierane
dynamicznie, a dodatkowo wkleiliśmy tutaj jeszcze sekcję Continue reading.
Nasz blog można powiedzieć, że jest już praktycznie w pełni funkcjonalny, ale to
jeszcze nie wszystko. W tym kursie jeszcze pokażę Ci kilka ciekawych rzeczy w Webflow.
Także zapraszam na kolejną część.