Press "Enter" to skip to content

Jak w PrestaShop 1.7 dodać dodatkowe pole tekstowe (na karcie produktu) z możliwością jego edycji?

Admin 5

Czasem zachodzi potrzeba osadzenia dodatkowych informacji na karcie produktu jak np. czas przesyłki danego produktu albo inna krótka informacja na potrzeby SEO – inna dla każdego produktu.

Co za tym idzie – musi być ona edytowalna w każdym produkcie z osobna.

Efekt na którym nam zależy:

Dodatkowe pole do edycji w produkcie (PrestaShop 1.7)

Potem taka informację możemy np. zaprezentować na karcie produktu w wybranym miejscu w szablonie.

Już poruszaliśmy podobne zagadnienia w tych artykułach: https://pskrk.com/dodanie-dodatkowego-pola-opisu-w-kategorii-presta-shop-1-6/  https://pskrk.com/pozycjonowanie-dodanie-alternatywnego-tytulu-w-kategorii-presta-shop-1-6/

UWAGA! Modyfikacja ma charakter zmiany wprost w plikach PHP aplikacji. Po wykonaniu np. aktualizacji systemu należy wykonać ponownie te modyfikacje aby ta funkcjonalność nadal działała. Pamiętaj też o wykonaniu kopii bezpieczeństwa bazy danych i zmienianych plików przed rozpoczęciem modyfikacji.

Modyfikacja plików PHP

W pliku:

W okolicach linii 140 dodaj kod analogiczny do innych zmiennych:

Podobnie w linii ok 300:

Jeśli dodawane pole ma mieć inną długość albo być np. polem tekstowym należy to tutaj uwględnić. Podobnie w zapytaniu SQL na dole artykułu. Tam dodajemy pole o typie varchar(32) jeśli Twoje potrzeby są inne – dodaj np. pole o typie text

W pliku:

Nad linią z kodem:

Wklej:

Oczywiście możesz odp. przemianować Czas przesyłki na tytuł jaki potrzebujesz

W pliku:

Pod linią z kodem:

Wklej:

Zmiana w szablonach

1) zmiana w szablonie w adminie sklepu

W pliku:

Pod kodem:

Wklej:

UWAGA! Aby pole pojawiło się w edycji produktu należy przeczyścić zawartość folderu cahce na serwerze: app/cache/ dodatkowo najlepiej odświeżyć pamięć podręczną w dziale Zaawansowane -> Wydajność

2) Osadzenie treści z nowego pola na karcie produktu

W pliku

W miejscu gdzie chcesz aby pojawiła sie ta informacja wklej:

Tutaj też trzeba mieć na uwadze potrzebę odświeżenia cache albo wymuszenia kompilacji szablonu w dziale Zaawansowane -> Wydajność

Zmiana w SQL.

Finalnie wykonaj to zapytanie w bazie danych (np. przez PhpMyAdmin na Twoim serwerze), doda to dodatkowe pole w bazie danych sklepu:

Gotowe!

 

grafika: pexels.com

  1. Krzysiek Krzysiek

    Super 🙂 A co jeśli produkt ma kombinacje? Wówczas pole to będzie się tyczyło wszystkich kombinacji. Jeszcze lepiej by było, gdyby dało się dla każdej kombinacji z osobna ustawić dane pole.

    Pozdrawiam

    • Admin Admin

      @Krzysiek, ale to już wyższa szkoła jazdy by była:)

      • Krzysiek Krzysiek

        Pewnie tak 🙂 Nie mogę się doczekać v2!

  2. Dariusz Dariusz

    A czy istnieje możliwość żeby na tym samym screenie miejsce Dostosowanie np. Tekst lub dodanie pliku uzależnić od dodatkowego kosztu czyli ustawiamy dostosowanie No. Dedykacja klient wpisuje dedykacje i akceptuje dedykacje a do kosztu produktu dolicza się np. 10zl
    I to samo jak dodamy pole dodawania pliku klient dodaje plik a cena rośnie o x zł

    • Admin Admin

      @Dariusz niestety nie wiem jak to zrobić bez jakiegoś ekstra przeprogramowania. Np wypełnienie tych pól automatycznie zaznaczało by odp. atrybut przy produkcie.
      Inne rozwiązanie to produkt z polami do dostosowania – inna cena.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Zobacz także !
Import produktów przez CSV i brak zdjęć miniatur. Jak temu…