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.
Zauważyłem, że wyniki wyszukiwania nie
pokazują się dobrze, a przynajmniej nie pokazują się przy nich poprawne zdjęcia.
I dlatego style trochę się rozjeżdżają.
Natomiast te zdjęcia powinny się pokazywać przynajmniej tak, jak tutaj mamy rozjechane
style, w przypadku postów na blogu. Jak widzisz tutaj już mamy rzeczywiste wyniki
wyszukiwania z postów na blogu, ale niestety zdjęcia nie są widoczne, jeśli
klikniemy sobie na Search results image i zobaczymy skąd ten obrazek jest brany, to teoretycznie jest
pobierany poprawnie, dynamicznie z Search index'u.
Problem w tym, że, jeśli wyłączymy jest OK,
a, jeśli to włączymy nie jest OK, więc problem w tym, że w tym Search indeksie
nie ma dobrych zdjęć. W związku z tym skąd Search Index bierze zdjęcia?
Jeżeli przejdziemy do właściwości i tutaj
akurat chodzi nam o stronę wyników naszego bloga, czyli przejdźmy do stron i do
wszystkich stron z postami, czyli Blog post templates.
Teraz, jeśli rozwiniemy Site search settings
znajduje się tutaj Search image. To jest właśnie ten obrazek. On jest brany z
ustawień Open graph image url, czyli z tej sekcji i mamy tutaj image url, Open graph
image, powinniśmy wybrać sobie odpowiedni obrazek.
Ewentualnie możemy to odznaczyć.
I wybrać po prostu obrazek dla samych wyników wyszukiwania.
Przykładowo nasz obrazek 16 na 9. Zróbmy
ten obrazek już taki sam rzeczywiście jak w ustawieniach Open graph, o których powiem
trochę później i wybiorę po prostu image 16 na 9.
Jeżeli takie zmiany zapiszemy, wybieram polecenie Save.
To teraz już wszystko powinno działać.
Natomiast będziemy musieli jeszcze wybrać
zaindeksowanie wyników, czyli wybieramy Ustawienia następnie Search i Index now.
W tym momencie nasze wyniki się manualnie indeksują.
Po opublikowaniu strony zaraz powinny być dostępne również zdjęcia.
W międzyczasie jak to się przeładowuje, można to zamknąć, to się dzieje w tle,
chciałbym pokazać Ci,
o właśnie już obrazki zaczęły się pojawiać. Ale chciałbym pokazać jeszcze jedną ważną
rzecz. Mianowicie wyniki wyszukiwania mają różne stany.
Jeśli przejdziemy do Search result wrapper
okaże się, że możemy przejść do stanu Default, który jest aktualnie wyświetlany.
Możemy tu zarządzać długością snippetów i długością rezultatu, to już Ci pokazywałem,
ale możemy też przejść do sekcji No results. I okazuje się, że w tym miejscu
wyświetli się to, co będzie pokazywane użytkownikowi w momencie, gdy dana fraza
wpisana przez niego w wyszukiwarkę nie zostanie odnaleziona.
Warto jest stylować również te stany
No results i zaraz pokażę Ci ich więcej. Z plików źródłowych
do tego kursu dodam do naszej biblioteki obrazków jeszcze 3 pliki svg.
Teraz przeciągnijmy jeden z tych obrazków na scenę, w to miejsce. Do Empty state
dodajmy jakieś proste stylowanie,
czyli możemy zrobić Flex box'a.
Wybierzmy Direction vertical, wybierzmy
wycentrowanie też w pionie oraz wstawmy odpowiedni Padding
na przykład
w ten sposób, ustawmy go na 165 pikseli i to jest dużo bardziej przyjazny ekran niż ten,
który mieliśmy na początku z brakiem wyników wyszukiwania.
Ale ten brak wyników jest też dostępny w
zasadzie we wszystkich elementach kolekcji.
Gdybyśmy przykładowo przeszli sobie do
wszystkich postów albo do naszej strony głównej bloga, to możemy przygotować się na
sytuację, w której nie będzie zwróconych żadnych wyników.
Przykładowo, gdybyśmy nie mieli żadnych postów w kategorii Mobile,
to wtedy zostałby automatycznie wyświetlony dla nas taki widok.
Przejdźmy do Collection list wrappera,
a następnie do jego Settings, Ustawień i mamy tutaj Empty.
Jak widzisz nie jest to też zbyt fajne,
czyli mamy tylko coś takiego jak No items found.
Znajduje się to w takim specjalnym stanie
Empty state, który warto teraz trochę dostylować.
Czyli na razie mamy tutaj tylko Text block'a.
Przejdźmy do stylowania.
Zaraz może ustawmy od razu wyświetlanie
na Flex'a, natomiast zrobimy sobie jakiś większy margines. Chcę zmienić też kolor
ten kolor tła mi jest niepotrzebny więc po prostu go usunę.
Mamy No items found, ale obok tego Text block'a
wrzucimy sobie jeszcze obrazek i wybierzemy jeden z obrazków, który zaimportowałem np.
taki albo taki obrazek z kawą i możemy wrzucić np.
GIFa, oczywiście GIFy też możesz importować i na Empty state ustawimy to Vertical
i znów wycentrujemy te Itemy.
Wydaje mi się, że tak jest OK.
Klasa, która tutaj powstała to Empty state 2.
Moglibyśmy np. zmienić ją na Empty state cards.
I teraz całkiem fajnym pomysłem byłoby dysponowanie taką klasą po to, aby po
prostu definiować sobie dla wszystkich widoków, gdzie mamy karty, takie puste stany.
Problem, na który byśmy tutaj trafili to obrazek, który trzeba za każdym razem
byłoby dokładać do takiego kontenera Empty state cards.
Więc to co moglibyśmy zrobić to usunąć ten obrazek i po prostu wrzucić go jako tło.
Więc Empty state cards, przejdźmy do jego właściwości, a następnie jako Background image
and gradient dodajmy sobie nowy obrazek jako wypełnienie. Wybieram
polecenie Choose image, wybieram obrazek z kawą.
Następnie wybierzmy opcję Cover, umieśćmy
go na środku, nie chcemy żeby był powielany.
No i wygląda to już OK,
natomiast to, co musimy zrobić to zmienić
wielkość i rozmiary tego samego kontenera. Nadajmy mu rozmiary np.
minimum 300 na 300 pikseli.
I teraz wypadałoby jeszcze ten Text block
umieścić gdzieś na górze, na przykład nad tym obrazkiem.
No i dobrze by było zrobić to na tej samej klasie, którą mamy Empty state cards, a nie na samym Text
block'u. Więc moglibyśmy to zrobić na tej klasie Empty state cards w ten sposób, że zmienimy Padding.
Jak widzisz zarządzanie Paddingiem w ten
sposób powoduje, że będziemy automatycznie przesuwać ten tekst,
czyli musimy dolny Padding po prostu zmienić tak, aby tekst wylądował nam na
górze. I mając coś takiego możemy już teraz skopiować nazwę klasy,
następnie przejść sobie do Blockchain na przykład, do Empty state i wstawić
tutaj Cmd + Return tę samą klasę Empty state cards i zostanie to automatycznie
dodane. Także w bardzo prosty sposób
przygotowaliśmy sobie uniwersalną klasę, która zarówno zawiera obrazek jak i pozycjonuje
odpowiednio elementy, które będą pojawiać się przy pustych stanach.
Warto o te stany zadbać. Zawsze jak stawiamy coś dynamicznie, jak stawiamy kolekcje, to mamy
do dyspozycji w ustawieniach takie ustawienie UI state jak Empty,
no i trzeba je dostosować.
Teraz pozostało nam stronę opublikować,
a jeśli chodzi o jakieś fajne ilustracje do pustych stanów, to możesz znaleźć masę
ciekawych linków, ciekawych inspiracji w sieci.
Na pewno zaprezentowanie
jakiejś przyjaznej ilustracji w pustym stanie, zamiast zwykłego suchego tekstu
będzie dla użytkownika UX'owo dużo lepsze.
To wszystko w tej lekcji. Dzięki za uwagę i do usłyszenia.