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!
W tej lekcji kontynuujemy pracę z integracjami i chciałbym pokazać Ci teraz
jak możesz też zrobić integracje, które nie będą tak proste do skonfigurowania
w samym panelu Webflow. Jeżeli przejdziesz do zakładki "Integracje", lista tych
integracji, które możemy wpiąć automatycznie stale się powiększa.
Na razie mamy tutaj kilka fajnych narzędzi np.
Google Optimize. To jest narzędzie, które
pozwoli Ci wykonać testy A/B na Twojej stronie.
Przykładowo możesz w Webflow zrobić sobie dwie wersje pod stronę Home A
i Home B i będziesz mógł z pomocą Google Optimize dołożyć tutaj taki malutki skrypt,
który pozwoli Ci niektórym użytkownikom wyświetlać stronę w wersji A, a niektórym w
wersji B. Następnie możesz mierzyć z pomocą Google Analytics
skuteczność takich stron
przykładowo śledząc kliknięcia na przyciski, zobaczyć, czy więcej osób
wykonuje akcje pożądane dla Ciebie w wariancie A, czy B.
Google Optimize Ci w tym pomoże. Pomoże serwować właściwą wersję strony użytkownikom,
a także pomoże prezentować wyniki w postaci właśnie danych, które później wykorzystasz
do tego, aby finalnie użyć jednej, czy drugiej wersji.
Zdecydowanie polecam korzystanie z Google Optimize,
ale nie będę go tłumaczył. To jest pewnie
temat na jakieś osobny kurs, który warto by było przygotować.
Google Maps.
Jeżeli będziesz korzystał gdziekolwiek z mapek Google wstawianych z pomocą embed kodu, no
to będziesz mógł to zrobić bezpośrednio w Webflow, ale jeżeli chciałbyś wykorzystać
trochę bardziej zaawansowane narzędzia w zakresie Google Maps,
czyli nie tylko osadzenie mapki, którą można zrobić bez integracji z tym modułem,
to będziesz musiał przekazać tutaj swój klucz API, który otrzymasz po
zarejestrowaniu jako Google Developer i wtedy będziesz mógł np.
korzystać z API Google Maps po to, żeby użytkownicy na Twojej stronie wyszukiwali
jakieś rozmaite miejsca, których lokacja może być serwowana w ramach mapki albo np.
pokazywać jakieś różne rzeczy, które będziesz miał na liście, w
zakładkach, więc tutaj trochę bardziej zaawansowana integracja z Google Maps jest
również możliwa w taki sposób półautomatyczny.
No i w końcu Facebook Pixel. To jest obok Google Analytics
taka rzecz, którą polecam zawsze skonfigurować na Twojej stronie.
Nie będę tego robił, bo jest to naprawdę
proste. W Business menager po prostu wchodzisz w źródła danych.
Zwłaszcza, że to też zmienia się co chwilę
w Facebooku, więc jakbym to pokazał to i tak za chwilę będzie nieaktualne.
Ale w Business manager po prostu
generujesz sobie kod piksela i wklejasz tutaj jego identyfikator.
Dzięki temu wszystkie zdarzenia na Twojej stronie będzie rejestrował też Facebook, co
jest przydatne m.in. do tego, że jak będziesz później uruchamiał np.
reklamy na Facebooku możesz sprawdzać, czy te reklamy rzeczywiście konwertują, czyli
czy ludzie z tych reklam wykonują na stronie akcje, o które Ci chodzi.
Przykładowo spinając sobie taki Facebook
piksel również na stronie podziękowania za rejestrację do
newslettera, czy podziękowania za zakup, będziesz mógł sprawdzić, czy ludzie
przechodząc z Twojej reklamy na Facebooku rzeczywiście przechodzą do końca ścieżki
zakupowej i lądują na stronie podziękowania i
sprawdzić sobie konwersję oraz masę innych rzeczy.
Poniżej znajduje się też opcja "Delay for cookie consent" i rzeczywiście powinno być to
włączone, aby nasza strona spełniała wymogi GDPR, czyli RODO.
Tutaj będziemy opóźniali zbieranie danych do
momentu, kiedy osoba nie zgodzi się na naszą politykę, czyli nie kliknie tego
przycisku na początku, gdzie akceptuje wszystkie zgody na ciasteczka.
No i w końcu to, co jest dla nas
najbardziej interesujące, o czym chciałbym teraz trochę porozmawiać.
Jest to tak zwane API Access.
Mamy tutaj API, które pozwala nam w Webflow dostać się do wszystkich elementów na
naszej stronie, wszystkich rzeczy na naszej stronie, czyli pokazywałem Ci edytora, który
umożliwia w łatwy sposób edytowanie strony. Wpisujemy znak zapytania, edit i ktoś może
w przeglądarce edytować sobie kontent na naszej stronie.
Ale, gdybyś chciał na przykład dostać się
do tego edytora spoza strony, czyli
przykładowo zrobić jakiś panel administracyjny dla Twojego klienta to
mógłbyś to zrobić i wysyłać polecenia z pomocą API.
Jeżeli chcesz dowiedzieć się więcej o tym
jak ogólnie działa API i czym jest, polecam Ci inny materiał na eduweb.pl, który podlinkuję.
Tymczasem tutaj znajdziesz API dotyczące np.
kolekcji, pól, obrazków, błędów, które generuje Webflow,
ale np. jeśli wejdziesz sobie w kolekcje,
to możesz takie kolekcje wylistować, możesz wybrać sobie ich schemat i zobaczyć
w formie json jak wyglądają wszystkie item'y, wszystkie elementy np.
blog posty, które znajdują się w Twoich
kolekcjach i w niektórych przypadkach możesz je nie tylko listować, ale też np.
edytować, czy tworzyć nowe, dodawać nowe posty.
Zwłaszcza będzie to przydatne dla deweloperów, którzy chcą stworzyć
zewnętrzne narzędzia, które umożliwią ich klientom np.
właśnie rozbudowaną pracę z jakimś CMSem, który postawimy sobie samodzielnie.
Więc są tu trochę bardziej zaawansowane
rzeczy, które wykraczają poza ten kurs, aczkolwiek w naszym przypadku może przydać
się zdecydowanie część dokumentacji API, która opisuje Webhooki.
Webhooki też omawiamy w osobnym materiale, który polecam.
Ale Webhooki są częścią API i znajdują się w tej sekcji.
Możesz przeczytać o nich trochę więcej, ale to co w zasadzie jest dla nas interesujące,
to jakie rzeczy odpalają Webhooki. Webhooki to będą takie specjalne linki, które możemy
przekazać do Webflow, po prostu wybierając tutaj polecenie
"Add Webhook" i teraz wybieramy właśnie ten opisany w dokumentacji "trigger",
czyli co ma uruchamiać ten Webhook.
W skrócie, jeżeli coś z tego zostanie wykonane np.
jeżeli formularz zostanie zgłoszony,
to wtedy Webflow wyśle dane tego formularza na konkretny adres URL.
Dzięki temu my będziemy mogli przejąć,
przechwycić takie dane z formularza i w pewien sposób je obsłużyć.
Chciałbym Ci pokazać jak można to zrobić
na przykładzie takiej aplikacji, takiego narzędzia jak "Zapier". Zapier
umożliwia właśnie wygenerowanie, stworzenie tzw.
zapa i wygenerowanie w ramach tego zapa adresu, pod który Webflow może wysyłać nam dane.
Jeżeli wpiszemy tutaj Webhook to, co prawda
niestety dostępne w wersji premium, ale w Zapierze są Webhooki,
jeśli wybierzemy "Webhooks by Zapier" będziemy mogli wybrać opcję
"Catch hook", czyli po prostu złapać dane, które zostaną wysłane na jakiś adres URL.
Skąd my ten adres bierzemy?
Jeśli wybierzemy "Continue" to ten adres
Webhook URL zostanie dla nas automatycznie wygenerowany.
Możemy go skopiować, a następnie wrócić do
Webflow po to, aby wkleić go właśnie w tym miejscu, gdzie mamy Webhook URL.
Wybieram polecenie "Add Webhook".
No i teraz mamy obsłużone zdarzenie "Form submission",
czyli wysłanie formularza, w taki sposób, że będzie wysyłan do Zapiera ten Webhook.
Możemy opublikować naszą stronę,
a następnie wypełnić jakikolwiek formularz. Pokażę Ci jak takie dane są wysyłane, a co
później my będziemy mogli też zrobić to już sobie obsłużymy w Zapierze.
Czyli tak, przechodzimy np.
na bloga i w postach, które dodaliśmy, mamy z prawej
strony możliwość pisania maila, po to żeby zapisać się na listę mailową.
Możemy tutaj użyć dowolnego adresu np.
takiego przykładowego adresu i teraz w
momencie, gdy zapiszemy się na tę listę, to formularz został wysłany,
mógłbym sobie tutaj trochę ładniej ostylować nawet
ten komunikat, który jest wyświetlany przez Webflow.
W każdym razie ten formularz został poprawnie wysłany.
Możemy to też sprawdzić
wewnątrz Webflow w tym panelu, gdzie znajduje się sekcja Forms.
Tutaj na samym dole są "Form submission data", czyli kilka sekund temu zgłosił się taki
adres e-mail, ale poza tym te dane powinny też trafić do Zapiera.
Teraz, jeśli wybiorę polecenie "Continue" i, jeśli dane zostały wcześniej na niego
wysłane, to mamy informację o tym, że są one odnalezione, czyli ktoś wysłał jakiś
Request na ten Webhook i zobacz, że to jest e-mail form2,
tak się akurat nazywa to pole.
Fajnie by było jakoś bardziej sensownie je nazwać. Możemy to zrobić również wewnątrz
Designera kolejno przechodząc na stronę blogpost template.
Trzeba by było przejść do całego form block'a
i właśnie on ma taką nazwę "Form Name: email form 2".
To jest właśnie miejsce, gdzie moglibyśmy
to zmienić, żeby wyświetlać informacje o właściwym formularzu.
Kiedyś bardziej intuicyjne, a tutaj jest ten adres e-mail, który został przekazany.
Więc to co możemy zrobić to, teraz polecenie "Continue",
np. możemy ten adres zapisać do Mailchimpa.
Wybieram integrację z Mailchimpem.
"Add, update subscriber". Chcemy ten adres przekazać
dalej tak, żeby dopisać go do naszej listy mailowej i kolejno wybieramy sobie konto,
na Mailchimpie musimy się tutaj połączyć i zautoryzować,
jeśli jeszcze tego nie robiliśmy wcześniej.
Wybrać odpowiedni "Audience" - ja mam tutaj tylko jeden, taki testowy Audience, czyli po
prostu listę, a następnie jako "Subscriber email", który chcemy dopisać,
korzystamy z danych, które zostały odebrane w Webhooku
i będą to dane, wybierzmy polecenie "Show
all options", ponieważ tutaj musimy znaleźć ten e-mail i właśnie przekazać go w ten sposób.
To są jedyne wymagane dane. Oprócz tego możemy jeszcze podać różne
metadane dotyczące tego użytkownika na liście, ale my ich też nie mamy. Wybieramy po
prostu polecenie Continue i możemy albo to przetestować, albo skipnąć testy,
już to testowałem przed chwilą i działa, w związku z tym
jedyne co trzeba teraz zrobić, to włączyć tego zapa. Wybieram polecenie ON.
W tym momencie już za każdym razem kiedy ktoś na naszej stronie wpisze swój
adres email, zostanie zapisany na listę mailową w Mailchimpie. W ten sposób można
wykorzystać Webhooki do tego, aby wymieniać rozmaite dane. Na razie tych
"Trigger Types" nie mamy zbyt wiele. Mamy "form submission" z informacjami o tych wszystkich polach,
które zostały wypełnione w formularzu gdybyśmy mieli ich więcej.
Informacje o opublikowaniu strony, które mogłyby nam posłużyć np.
do wysłania maila do klienta albo np.
wiadomości na slack, że nowa wersja naszej strony jest opublikowana. Są też takie
triggery specyficzne dla modułu e-commerce, o którym porozmawiamy w osobnym kursie.
Gdybyśmy mieli produkty i zamówienia na
stronie, skorzystali z modułu e-commerce w Webflow, to wtedy każde nowe zamówienie byłoby
wysyłane ewentualnie na jakiś Webhook, który moglibyśmy skonfigurować, a także
jego zmiana, a także zmiana "Inventory", czyli naszego magazynu.
Wtedy moglibyśmy obsłużyć to automatyzacjami,
nie musielibyśmy budować jakiejś osobnej logiki biznesowej.
Moglibyśmy np.
wysyłać maile, wysyłać wiadomości,
potwierdzenia zakupu, potwierdzenia zmiany, informację o dostawie itd.
właśnie z pomocą automatyzacji i spięcia tego w np.
takim kilkukrokowym scenariuszu w Zapierze albo w innym narzędziu.
Także chciałem jedynie naświetlic Ci
możliwości tego, co da się zrobić z triggerami.
Z pomocą API można zrobić jeszcze więcej, ale naturalnie wykracza to poza
ten zakres materiału, który chciałem omówić w tym kursie.
W związku z tym na ten moment chciałbym serdecznie podziękować Ci za uwagę,
ponieważ omówiliśmy wszystkie rzeczy, które chciałem Ci pokazać.