Dodanie liczby aktywnych produktów w kategorii obok nazwy w blockcategories – Prestashop

Często mamy potrzebę umieścić ilość produktów w naszej kategorii na liście za pomocą modułu blockcategories (przedstawię opcję wszystkich produktów oraz tylko produktów aktywnych), znalezione na Link , troszkę zmodyfikowane przeze mnie.

No to zaczynamy , modyfikujemy plik blockcategories.php (uwaga z głównego folderu modułów , a nie podfolderu naszego szablonu). W okolicach linii 140 znajdujemy metodę:

następnie należy dodać zmienną przechowującą liczbę produktów za pomocą następującego kodu:

ten kod zwróci wszystkie produkty w danej kategorii, moja modyfikacja w przypadku wersji 1.5 wygląda następująco:

Tak zbudowane polecenie do bazy zwróci jedynie ilość aktywnych produktów w kategorii. Następnie w tablicy return należy dodać naszą zmienna, więc będzie to wyglądać mniej więcej tak:

Metoda getTree po naszych modyfikacjach powinna wyglądać następująco:

 

Teraz mamy dostęp do naszej zmiennej z poziomu smarty

Nasz przykładowy link będzie wyglądał tak:

To wszystko 🙂

7 KOMENTARZE

  1. W przypadku modułu blockcategories plik do modyfikacji znajduję się w:
    themes/nazwa_szablonu/modules/blockcategories/category-tree-branch.tpl
    w moim przypadku modyfikuję linijkę 27, która ostatecznie wygląda następująco:

    (do wstawienia kodu proszę używać znacznika < 'pre'>kod< ''/pre'> – bez apostrofów)
    Pozdrawiam, mam nadzieję, że pomogłem 🙂

  2. A w którym miejscu wstawić ten fragment?
    $ProductsCount = 0;
    $ProductsCount = (int)Db::getInstance()->getValue(‚SELECT COUNT(*) FROM ‚._DB_PREFIX_.’category_product WHERE id_category = ‚. $id_category);

  3. Jeżeli chcemy zliczać jedynie aktywne produkty w kategoriach, to należy zmodyfikować trochę zapytanie SQL:

  4. a jeżeli chcemy żeby nam sumowała kategoria nadrzędna produkty w kategoriach podrzędnych …. jak to zrobić ?

    Nabiał (8)
    masło (4)
    mleko (4)

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here

Loading Facebook Comments ...