Jak utworzyć niestandardową zakładkę na stronie produktu w zapleczu w PrestaShop

PrestaShop, dzięki swojej potężnej i elastycznej strukturze, pozwala deweloperom dostosowywać różne aspekty platformy do konkretnych wymagań biznesowych. Jedną z takich dostosowań jest dodanie niestandardowej zakładki na stronie produktu w zapleczu. W tym blogu przejdziemy przez proces krok po kroku, aby to osiągnąć, tworząc przykładowy moduł o nazwie kbcustommodule.

Możemy utworzyć niestandardową zakładkę na stronie produktu w zapleczu na dwa sposoby:

  1. Korzystanie z komponentów Symfony.
  2. Korzystanie z haka displayAdminProductsExtra

Metoda 1:

Niniejszy samouczek dotyczy PrestaShop w wersji 8.1 i nowszych, wykorzystujących komponenty Symfony.

Krok 1: Utwórz swój moduł

kbcustommodule/ |– composer.json |– config/ | |– services.yml |– src/ | |– Form/ | | |– Modifier/ | | |– ProductFormModifier.php | | |– Type/ | | | |– CustomTabType.php |– kbcustommodule.php Zacznij od utworzenia folderu o nazwie kbcustommodule w katalogu modules instalacji PrestaShop. W tym folderze utwórz plik kbcustommodule.php, który będzie zawierał główną klasę dla Twojego modułu. Klasa modułu inicjuje moduł i rejestruje wymagane haki. Oto przykład pliku kdcustommodule.php:

Uruchom polecenie composer dump-autoload w katalogu głównym modułu, aby włączyć automatyczne ładowanie przestrzeni nazw.

Krok 2: Zdefiniuj usługi

Utwórz plik services.yml w katalogu config swojego modułu (kbcustommodule/config/services.yml). Ten plik definiuje usługi Symfony wymagane do dostosowania formularza.

Krok 3: Utwórz niestandardowy typ formularza karty

Utwórz klasę CustomTabType w folderze src/Form/Type swojego modułu. Ta klasa definiuje pola, które pojawią się w karcie niestandardowej.

Krok 4: Utwórz klasę ProductFormModifier

Klasa ProductFormModifier definiuje sposób, w jaki karta niestandardowa integruje się z istniejącym formularzem produktu.

Ostatni krok: instalacja i testowanie

  1. Zainstaluj moduł za pośrednictwem zaplecza lub ręcznie umieść go w katalogu modułów i włącz.
  2. Przejdź do strony produktu back office. Powinieneś zobaczyć nową zakładkę oznaczoną jako „Custom Tab” z polem oznaczonym jako „Custom Field”.
  3. Przetestuj funkcjonalność, dodając dane do pola niestandardowego i upewniając się, że zostaną one prawidłowo zapisane.

Po pomyślnej instalacji powyższego modułu otrzymasz następujący wynik.

Zintegruj Menedżera tagów Google z Prestashop

KUP TERAZ

Metoda 2:

Hak displayAdminProductsExtra umożliwia dodawanie niestandardowej zawartości lub zakładek do strony edycji produktu w Back Office. Ta metoda unika złożoności definiowania usług Symfony i jest łatwiejsza dla programistów niezaznajomionych z Symfony.

Krok 1: Utwórz moduł

Zacznij od utworzenia podstawowej struktury modułu. Na przykład: Kbcustommodule/ |– config/ |– translations/ |– views/ | |– templates/ | |– admin/ | |– products/ | |– custom_tab.tpl |– Kbcustommodule.php

Krok 2: Zdefiniuj klasę modułu

W pliku Kbcustommodule.php zdefiniuj swój moduł i zarejestruj hak displayAdminProductsExtra.

 

Krok 3: Utwórz plik szablonu

W pliku views/templates/admin/products/custom_tab.tpl zdefiniuj kod HTML i zawartość swojej niestandardowej karty.

Krok 4: Zapisz dane

Aby zapisać niestandardowe dane, użyj haka actionAdminControllerSetMedia wraz z JavaScript lub PHP. Alternatywnie możesz użyć haka actionProductUpdate w PHP. Przykład w Kbcustommodule.php:

Krok 5: Dodaj pole do bazy danych

Zmodyfikuj bazę danych, aby przechowywać swoje niestandardowe dane. Na przykład: ———————————————————————— ALTER TABLE ps_product ADD custom_field TEXT NULL; ———————————————————————— Po pomyślnej instalacji powyższego modułu otrzymasz następujący wynik. Aby uzyskać dalszą pomoc, skontaktuj się z nami lub zostaw komentarz poniżej. Możesz również skontaktować się z nami na Centrum pomocy Knowband.