Press "Enter" to skip to content

dodanie dodatkowego pola opisu w kategorii – Presta Shop 1.6

Admin 6

Domyślnie w danej kategorii opis znajduje się nad listą produktów. Czasem ze względów pozycjonerskich (SEO) zachodzi potrzeba dodania dodatkowego opisu pod produktami. Deklarowanego oddzielnie w edycji lub tworzeniu nowej kategorii.

Presta Shop 1.6 przez swoją innowacyjną budowę pozwala stosunkowo łatwo dodać takie pole. Poniżej szczegóły.

Dodanie pola w bazie danych.

Nasze modyfikacje w plikach były by na nic, gdyby system nie miał gdzie zapisywać tego dodatkowego opisu. Opisy kategorii są trzymane w tabeli ps_category_lang. Dodanie pola realizujemy poprzez zapytanie:

Modyfikacja obiektu Category.

Edytujemy plik:

Na początku klasy PHP: CategoryCore deklarujemy analogiczną do „domyślnego” opisu zmienną. Zastępujemy kod (okolice 40 linii) :

Kodem:

W tym samym pliku odnajdujemy statyczną, publiczną zmienną tablicową $definition;

(okolice 95 linii) i dodajemy do niej kolejny element zamieniając kod:

na:

Modyfikacja kontrolera kategorii.

edytujemy plik:

W metodzie konstrukcyjnej __construct() znajdujemy zmienną tablicową $this->fields_list:

i dodajemy do niej kolejny element zamieniając kod:

na:

W tym samym pliku odnajdujemy publiczną metodę:

(okolice 412 linii) następnie w tej metodzie znajdujemy zmienną tablicową:

i dodajemy do niej kolejny element zamieniając kod:

na:

 

Gotowe, wykonanie powyższych czynności pozwala nam deklarować dodatkowy opis w kategorii. To, jak zostanie on nazwany (w naszym przypadku Alternative Description) zależy tylko od nas, poprzez odpowiednie zmodyfikowanie powyższego kodu. Wygląd pola:

Strony WWW Kraków - SmartProjects.pl

 

Modyfikacja szablonu kategorii.

Pozostało nam tylko zaprezentować dodatkowy opis na sklepie. W tym celu edytujemy plik:

Nastepnie w miejscu gdzie chcemy aby pojawił się nowy opis wklejamy kod:

Lub krócej:

Jeżeli opis ma być pod listą produktów – musi on sie znaleźć pod wywołaniem tego kodu:

 

 

 

Share This:

  1. Świetny tutorial. Przydało mi się i najważniejsze, że to działa 🙂 Dzięki! Czy posiadacie jakiś sztywny cennik jeśli chodzi o prestashop czy wycena wdrożeń/modyfikacji jest zawsze wyceniana indywidualnie?

    • Admin admin

      Dzięki za miłe słowo;) staramy się pomóc. Co do cen raczej indywidualnie, zależy co jest do zrobienia.

    • Witam, czy treść polecenia, które dodaje pole w bazie danych jest na pewno poprawna?
      ALTER TABLE
      ::CODECOLORER_BLOCK_3::
      ADD
      ::CODECOLORER_BLOCK_4::
      TEXT NOT NULL ;

      • Admin Admin

        Masz rację @Jakub – zostało to poprawione w opisie artykułu. Dzięki za zwrócenie na to uwagi!

  2. Cześć, wszystko prawie działa dobrze. Po dodaniu tekstu w drugim (alternatywnym polu) pojawia się on w bazie danych, ale nie wyświetla się na stronie :(. Czy czasem nie musi być dodane gdzieś jeszcze zapytanie odnośnie pobrania danych z bazy? Select …. ?

    • Działa, mój błąd xD. W presta 1.7 zamiast {$category->description_alt} jest {$category.description_alt nofilter}

      Super!!!

Dodaj komentarz

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