Wdrożenie projektu
15 godz. 6 min · UI, UX i Webdesign
Krzysiek PiekarzAutomation Specialist / No-code DeveloperMateriał szkoleniowy został zaprojektowany tak, aby mogło z niego skorzystać jak najszersze grono odbiorców. Nieważne czy jesteś totalnym laikiem, czy też posiadasz już wiedzę z zakresu programowania lub designu, na pewno znajdziesz tu coś dla siebie. A więc kto jeszcze może skorzystać z wiedzy zawartej w tym kursie?
Poprzedniej lekcji zbudowaliśmy wspólnie sekcję bookingu dla stanu Full state.
Ja w międzyczasie między lekcjami
prowadziłem tutaj kilka bardzo drobnych poprawek.
Przede wszystkim dodałem tutaj background na tym przycisku, dzięki czemu
to wygląda jakby ten stan był tutaj aktywny.
Dodatkowo zadbałem również o to, aby te teksty mi się wszędzie pojawiały.
Pamiętasz? Kupowaliśmy je tutaj
jako kopię tego tekstu i tam były odpowiednie warunki, które je ukrywały.
Musisz o to zadbać.
Dodatkowo zadbałem również o to, aby w tym miejscu wyświetlały mi się różne stany.
I zaraz pokażę Ci, w jak prosty sposób można to uzyskać.
A jeszcze kolejna rzecz to oczywiście.
Tutaj stany mobilne.
W tym przypadku jak widzisz tylko
przesuwam sobie te treści na dół, a ten guzik pojawia mi się tutaj.
Tamten po prostu ukrywam, a ten tekst wyświetlam w tym miejscu.
To naprawdę wszystko, co tutaj zrobiłem.
A więc nie ma tutaj nic trudnego.
Wróćmy do normalnego widoku.
Natomiast teraz oprócz tego, że pokażę Ci
jak to działa, chciałbym tutaj jeszcze jeden bardzo ważny komunikat ogłosić.
Jest to ostatnia sekcja, którą budowaliśmy wspólnie.
Od tej pory ja będę je sobie przygotowywał między lekcjami, a na lekcjach omówię
główne funkcjonalności, jakie tam wdrożyłem.
Nie będę już omawiał stylów.
W każdej chwili możesz sobie sprawdzić
moim edytorze lub zastosować całkowicie inne.
Jeżeli uważasz, że ta czcionka jest za mała, bo w złym kolorze.
Nic nie stoi na przeszkodzie, abyś zastosował jakiś własny styl.
Ja stawiam w tej mierze oczywiście na Twoją kreatywność.
Być może osiągniesz dużo fajniejsze efekty niż ja.
A więc wróćmy do edytora i w tym przypadku.
Tutaj w panelach odniosłem się do Current Cell Index.
Jest to genialna funkcjonalność Babel,
ponieważ możesz się odnieść jak widzisz do konkretnego indeksu danej komórki.
Ja w tym przypadku powiedziałem, że jeżeli
wyświetlamy rekord numer dwa to po prostu zmieniam background color i font color.
I to samo robię tutaj dla set index numer 3.
I oczywiście zmieniam sobie te teksty,
dzięki czemu wygląda to tak, jakbyśmy mieli tutaj wszystkie te stany,
a w zasadzie statusy tych bookingu, czyli app coming ended i active.
A więc coś takiego.
Skoro to mamy już wyjaśnione.
Mam nadzieję, że z resztą sobie poradzisz sam.
Przechodzimy teraz do sekcji riffu, ponieważ tutaj wykorzystałem kilka
ciekawych trików, które chciałbym Ci zademonstrować.
To stan Empty State, który już wcześniej przygotowaliśmy.
Natomiast mój stan full state wygląda w ten sposób.
Założyłem sobie. To jest takie moje własne założenie.
Nie musisz z niego korzystać, ale wydaje mi się, że jest to całkiem słuszne,
aby w momencie kiedy użytkownikowi skończy się dany booking,
tworzyć w naszym serwisie taką automatyczną, pustą recenzję i w ten
sposób wyświetlać mu je tutaj właśnie w sekcji FW.
Jak widzisz w tym miejscu mamy informację jaki to był listing.
Ja dodatkowo zadbałem o to,
aby po kliknięciu tutaj ten listing nam się otwierał, więc użytkownik w każdej
chwili może sobie sprawdzić gdzie był i sprawdzić szczegóły tego listingu.
A tutaj dodatkowo za pomocą tego buttona
będziemy otwierali pop up nie może zostawić swoje riffu.
W ten sposób może nie tyle wymuszamy, co
delikatnie sugerujemy użytkownikom, aby wystawiali właśnie recenzje do bookingu,
które mają już za sobą, ponieważ jak pamiętasz naszej aplikacji chodzi o to,
aby polecać jak najlepsze listingu, a więc również takie, które są jak najwyżej
oceniane, a trudno zdobyć ocenę, jeżeli użytkownicy nie będą ich wystawiać.
A więc w ten sposób delikatnie nakierowuje
ich na to, aby właśnie takie opinie wystawiali.
Dodatkowo mam tutaj dwa staty.
Ten jest ustawiony na new czyli po
danym bookingu użytkownik może wystawić recenzję, a tu widzi wszystkie czyli takie
gdzie zarówno on już wystawił opinie jak i host, bo tak to ma działać.
Użytkownik wypełnia właśnie tutaj to review wystawia swoją opinię.
Host danego lokalu może na to odpowiedzieć, ale o tą funkcjonalność to
zadbamy już oczywiście kiedy przejdziemy do konta hosta.
Natomiast jak widzisz nie ma tutaj nic trudnego.
Jest teraz takie powielenie tego co
robiłem właśnie tutaj dla new, czyli wykorzystałem niemal te same rep
grupy, tylko tutaj dostałem właśnie te komentarze.
Dodatkowo zadbałem również o to, aby to było oczywiście w pełni responsywne.
Jak widzisz będę sobie tutaj zjeżdżał, to w tym widoku to komentarze pojawiały mi
się już jeden na drugim i tak to zostawiłem.
Dodatkowo właśnie to info tutaj będę ukrywał.
O ile dobrze pamiętam chyba w tych rozdzielczościach poniżej 576.
Tak, zgadza się w ten sposób mamy tutaj tylko właśnie odniesienie do listingu.
Mamy komentarze
i możemy się oczywiście przełączyć, możemy przejść na new, to musielibyśmy
również zadbać o to, żeby ten background się tutaj guziku pojawiał.
Ale ja się tym nie przejmuję.
To są takie drobne szczegóły, które
będziemy sobie potem wprowadzać w przyszłym sprincie.
Natomiast tu, w tym miejscu, zamiast
sortowania po dacie, będziemy mieć w przyszłości sortowanie po typie
komentarzy, czyli od wszystkich, poprzez pozytywne, neutralne, aż do negatywnych.
A skoro wiemy, jak to ma działać, to wróćmy sobie.
I teraz przejdźmy już do edytora.
I omówmy jak ta cała sekcja w zasadzie jest skonstruowana.
Jest to oczywiście kolejny element, jak nazwałem po prostu best reviews are.
Skopiowałem sobie w zasadzie to, co
mieliśmy poprzednich element, czyli gest booking.
Ten układ u góry jest niemal identyczny.
Mamy tutaj przyciski.
Ja tylko po prostu zmieniłem tutaj tekst.
Zmieniłem ten tekst i oczywiście dopasowałem sobie tą grupę.
Fokus.
Dla całego tego riffu.
Element dodałem tutaj Custom State.
O nazwie VU. Jest to zwykły tekst i domyślnie ustawiam
go na new a za pomocą tych dwóch przycisków oczywiście go sobie przełączam.
Możemy przejść do.
Workflow.
Jak widzisz tutaj tylko zmieniam ten state właśnie na new.
Albo na all.
To są po prostu wartości wpisane na sztywno.
Tutaj nie musimy dbać o jakieś sety, bo mamy tylko dwie te wartości.
Moglibyśmy tutaj oczywiście wykorzystać.
Też warto jest, No ale ja stwierdziłem, że
dużo łatwiej będzie po prostu zastosować tutaj zwykły tekst.
Wracamy więc do designu.
Ukryjemy sobie tą fokus, żeby nam nie przeszkadzała.
I rozwiniemy sobie tutaj ten wrapper.
Tu mamy górkę z filtrami, natomiast tutaj.
Mam pierwszą grupę, która mi się pojawia i zobacz jak ja to skonstruowałem.
Domyślnie jest ona ukryta.
Pokazuję ją oczywiście wtedy, kiedy ten custom statywu jest równy.
New to po prostu znowu na sztywno wpisane.
Natomiast.
Type of content ustawiłem tutaj jako s review i oczywiście wyświetlamy S review.
I tak samo tutaj ustaliłem, że to będą trzy rzędy jedna kolumna.
Możesz tutaj sobie to pozmieniać według własnego uznania.
Natomiast zobacz jak to działa w środku.
Do tej grupy pierwszej przekazuje o s
review po prostu Karen Self, natomiast do ośrodka.
Mam tutaj tą grupę, która odpowiada za listing.
I tu jak widzisz od razu wybrałem sobie najpierw content is listing.
Dlaczego? Dlatego, że jak pamiętasz w Review mamy
kolumnę, która kieruje do takiego listingu i ma taki typ.
A więc w ten sposób mogę się odnieść do Parent Group Review Listing i w ten sposób
wyciągać w środku informacje dotyczące listingu.
Dodatkowo kliknięcie całej takiej grupy.
Przenosi użytkownika na Page listing przekazując tutaj odpowiedni parametr, a
więc dokładnie to, co już wcześniej robiliśmy.
A więc jak widzisz wewnątrz grup może stosować różne
typy contentu i odnosić się właśnie do tego, albo właśnie poprzez takie łańcuszki
parent review lub poprzez nawet opcję GT option.
Tutaj już wcześniej pokazywałem.
Tu mamy standardowy przycisk, który będzie nam otwierał właśnie preview pop up.
I tutaj też zastosowałem kolejny bardzo ciekawy trik.
Jak pamiętasz, do tej pory, kiedy dostawaliśmy pop upy,
gdzie przekazywaliśmy jakieś dynamiczne dane, ustawialiśmy je na sztywno.
Możemy zresztą nawet do tego wrócić.
O ile dobrze pamiętam, było to chyba na stronie listingu.
Zerknijmy.
Tak, tu mamy Gallery Popup.
Jak pamiętasz, zdefiniowaliśmy sobie Type of Content i Data Source.
Zabieraliśmy sobie spać w rapera, ponieważ tutaj zawsze był to ten jeden listing.
Podobnie zresztą tutaj.
Dla razu też mogliśmy się odnieść do tego stałego listingu.
Natomiast jeżeli wrócimy do Guest Reviews Error XML Element.
Po każdym z powrotem całą tę grupę.
Niestety tylko top.
O właśnie tą.
No to tutaj jest problem, ponieważ ja
chciałbym w PO papie, który się otwiera, również wyświetlać właśnie ten listing.
Natomiast nie wiem tak naprawdę właśnie,
który tutaj review użytkownik sobie kliknie.
A więc musimy takie RW przekazać
dynamicznie do papu i zobacz jak ja to zrobiłem.
Na review popup ustawiłem Type of content, ale data sort zostawiłem sobie puste,
ponieważ nie wiem na ten moment jaki tutaj rekord wyskoczy.
Ale jak taki rekord przekazać do POPUP u?
Jest to znów niesamowicie proste.
Wystarczy, że.
Tu w momencie, kiedy otwieram pop up.
Najpierw korzystam z opcji Display Data.
Odnoszę się do Parent Group Review, czyli
aktualnego review, które użytkownik kliknął.
I ten rekord przekazuję właśnie tutaj do popup u.
On zostanie ustawiony dynamicznie.
Potem go po prostu pokazuję. I zobacz jak to działa.
Teraz, jeżeli przejdziemy do podglądu. To np.
tutaj mamy Bali Olson Front.
Klikając ten przycisk przekazałem sobie to oz review.
Z niego wyciągnąłem ten listing i wyświetlam tutaj właściwe informacje.
W tym miejscu zastosowałem całkiem fajny plugin, który pozwala mi właśnie na
dodanie takiego ratingu, właśnie takiego animowanego błyskami.
Natomiast jego minusem jest to, że
niestety nie mamy tutaj połówkowe ocen, musimy wystawiać całościowe.
Ogólnie pluginów do wystawiania ratingów w formie gwiazdek znajdziesz w Babel kilka.
Możesz je przetestować.
Większość z nich jest darmowa.
Te najbardziej popularne, stworzone przez
Saba Babel rzeczywiście pozwoli Ci właśnie wystawiać takie oceny połówkowe.
Natomiast wygląda on strasznie brzydko.
Dlatego ja też zdecydowałem się na ten.
Zaraz Ci pokażę, który to jest.
Natomiast jak widzisz mogę sobie zamknąć
tutaj to review, a w zasadzie ten popup, w którym będę wystawiał review.
Jeżeli kliknę teraz tutaj na ten record na
to review, to przekażę to dynamiczne wartości.
Jak widzisz odpowiednio nam się tutaj
zgadza, a więc takie dane grupa elementów możesz przekazywać również
za pomocą workflow, co właśnie teraz Ci udowodniłem.
Wystarczy wybrać tą opcję Display Data.
Wybrać element, do którego chcesz takie dane przekazać.
I tutaj wysłać dane, które chcesz tam wyświetlić.
W naszym przypadku jest to po prostu określony rekord.
Z tego stos Reviews.
W przypadku pluginów tutaj wykorzystałem
Animation Rating Start od 0 Cloud o ile się nie mylę.
Tak od 00 to oni mają całkiem fajne pluginy.
Polecam z nich korzystać.
Część jest darmowa a część płatna, ale zawsze znajdziesz coś ciekawego.
Tak więc zachęcam Cię do sprawdzenia tego lub po prostu jakiegoś innego
pluginu do wystawiania właśnie takiego ratingu w formie gwiazdek.
To było chyba na tyle.
W tej lekcji wydaje mi się, że.
Tutaj już nic więcej tłumaczyć nie muszę.
Sam będziesz w stanie właśnie sobie tutaj to stworzyć.
Tu jak widzisz mam dokładnie to samo.
To jest ten review all, które tutaj wyświetlam.
Właśnie, kiedy ten state jest równy all? Tak.
Bo to jest dokładnie kopia
tej Rapid Ink grupy stosuje dokładnie tutaj
te same elementy, a więc ten listing tutaj jak widzisz to jedno review
pobieram sobie dynamicznie z naszego setu, czyli tą recenzję.
Natomiast tutaj skopiowałem tą grupę, pozbyłem się odniesień dynamicznych i po
prostu na sztywno wpisałem tutaj jakieś informacje, wgrałem zdjęcie,
dodałem informacja o hoście i to w zasadzie wszystko.
Tak więc zachęcam Cię do tego, abyś albo
spróbował odwzorować to co ja tutaj wdrożyłem.
Zerknij sobie najpierw na to jak to działa.
Spróbuj to zaprojektować samemu.
Spróbuj również przynajmniej na samym
początku dodać tutaj workflow, które ja wykorzystuję.
Spróbuj sobie pomyśleć jak to powinno działać, jak to powinno być poustawiane.
A jeżeli masz jakieś wątpliwości, jeżeli coś jest niejasne, to oczywiście zawsze
możesz skorzystać z mojego edytora i tutaj sobie to sprawdzić.
A zanim jeszcze skończymy tą lekcję, to
oczywiście ten guzik, który pokazuje bądź ukrywa empty state.
Jak się domyślasz działa to dokładnie tak samo jak tutaj dla tej sekcji Books.
Ja po prostu dodałem
kolejne pole, tym razem Reviews Number 1 naszego rekordu w bazie danych.
Jeżeli przejdziemy tutaj.
Jak widzisz, zdefiniowałem już wszystkie
trzy, czyli Back in Stamp, które mieliśmy w poprzedniej lekcji ustawione.
Dodałem sobie reviews number. To też jest number.
I wish list number też jest number.
Nie ma tutaj nic trudnego i stosuję niemal dokładnie to samo co workflow.
Odnoszę się po prostu do właściwego
atrybutu i zmieniam wartość zera na 1 albo z 1 na 0.
I to wszystko. A więc dziękuję Ci za uwagę.
Zachęcam Cię do działania i widzimy się już kolejnej lekcji.