Cel wdrożenia
Moduł PrestaShop pozwalający na dodawanie podlinkowanych bannerów (w dowolnej kolejności), z własnym tekstem oraz opcjonalną ikonką na stronie głównej sklepu; z zachowaniem responsywności oraz z możliwością włączania/wyłączania każdego bannera z osobna.
Każdy banner może być podlinkowany do wybranego produktu, kategorii lub strony CMS.
Informacje techniczne
- Wersja PrestaShop >= 1.7.8.0 (kompatybilne wzwyż)
- Wersja PHP: 7.3
- Kompatybilność z multistore: Tak
- Wykorzystane mechanizmy: Symfony DI, Doctrine, PS Grid, Symfony Forms
BackOffice
Po wejściu w konfigurację modułu pojawi się lista aktualnie dodanych bannerów. Początkowo będzie ona pusta, ale dla celów demonstracyjnych uzupełniłem ją o przykładowe wpisy.
Na górze strony widnieje przycisk "Add new", dzięki któremu przejdziemy do formularza dodawania nowego bannera. Widok tej strony został zaprezentowany na poniższym obrazku:
W formularzu możemy ustawić kolejno:
- Tytuł - czyli tekst wyświetlany wewnątrz bannera
- Obrazek tła
- Ikonkę (opcjonalnie) z listy ikon MaterialIcons z Presty
- Stan aktywności wł./wył.
- Rodzaj URLa - produkt, kategoria, strona CMS
- Wybór produktu/kategorii/strony CMS - w zależności od wartości poprzedniego pola
Warto zauważyć, że wybór rodzaju URL'a spowoduje wyświetlenie pod tym polem listę rozwijaną typu select z opcją wyszukiwania - w przypadku wyboru produktu lub strony CMS:
lub drzewko kategorii - w przypadku wyboru kategorii:
Formularz jest walidowany przed wysłaniem tak, by posiadał wszystkie wymagane pola (czyli wszystko oprócz ikonki).
W przypadku, gdy mamy dodane co najmniej 2 bannery, istnieje możliwość zmiany ich kolejności metodą "przeciągnij i upuść" (drag & drop). Po najechaniu na dany wiersz pojawi się ikonka z sześcioma kropkami. Wystarczy najechać na nią kursorem i przytrzymać lewy przycisk myszy, a następnie przeciągnąć wiersz w żądane miejsce. Po zwolnieniu przycisku myszki, zmiana kolejności zostanie zapisana w bazie danych.
FrontOffice
Moduł "wczepia się" w hooka displayHome, dzięki czemu wyświetli się na stronie głównej.
Każdy z bannerów poprawnie linkuje do wybranej kategorii / produktu /strony CMS w danym języku.
Całośc prezentuje się w natępujący sposób:

