Press "Enter" to skip to content

Presta Shop – wyświetlanie liczby produktów w danej kategorii na drzewku kategorii – Presta Shop 1.6

Admin 3

Modyfikacja o tyle przydatna, że klient już przeglądając drzewo kategorii widzi ile produktów znajduje się w danej gałęzi drzewka (w danej podkategorii albo kategorii głównej). Poprzez po prostu liczbę w nawiasie.

Autoreklama: Analogicznie jak na naszym blogu. W bocznej kolumnie jest blok z kategoriami a w nawiasie liczba artykułów w danej kategorii. Oczywiście zachęcamy do przeglądania 🙂

Ale do rzeczy. Jak to zrobić w Presta Shop ( 1.6.x ) ?

Zmiana sposobu wyświetlania drzewa kategorii

W zależności od naszych potrzeb możemy zdecydować czy drzewko będzie prezentowane zawsze w całej krasie czy tylko będą listowane podkategorie danej kategorii w której się znajdujemy.

W tym celu zmień ustawienia w:

Moduły -> Pole szukaj -> wpisz „blockcategories” -> przycisk „Konfiguruj”

Następnie zadecyduj jak ma się wyświetlać to drzewo zmieniając opcję „Kategoria główna” następnie to zapisując.

Modyfikacja kontrolera PHP

Otwieramy plik:

/modules/blockcategories/blockcategories.php

Następnie znajdujemy funkcję:

public function getTree

Po czym w jej wnętrzu zamieniamy ten kod:

		$return = array(
			'id' => $id_category,
			'link' => $link,
			'name' => $name,
			'desc'=> $desc,
			'children' => $children
		);

Na:

		$sql = 'SELECT * FROM '._DB_PREFIX_.'category_product cp 
		WHERE cp.id_category = '.$id_category;
		$result = Db::getInstance()->executeS($sql);	
		$return = array(
			'id' => $id_category,
			'link' => $link,
			'name' => $name,
			'desc'=> $desc,
			'products' => count($result),
			'children' => $children
		);

Uwaga! Jeśli Twój kod chociaż nieznacznie się różni (spacje i wcięcia nie mają znaczenia) od podanego wyżej – zmian dokonuj z rozwagą lub zapytaj o to w komentarzu do artykułu!

Modyfikacja kodu HTML

Otwieramy plik:

/themes/default-bootstrap/modules/blockcategories/category-tree-branch.tpl

Jeśli go tam nie ma, to:

/modules/blockcategories/category-tree-branch.tpl

Następnie zamieniamy kod:

{$node.name|escape:'html':'UTF-8'}

Na:

{$node.name|escape:'html':'UTF-8'} ({$node.products})

Czyli dopisujemy w nawiasie zwracaną liczbę kategorii w danym elemencie.

Gotowe! Efekt końcowy:

Wdrażanie Presta Shop Kraków

Rada: Nie zapomnij wyczyścić pamięci cache po dokonaniu zmian. Opisaliśmy to np. tutaj jak to zrobić w dziale „Wydajność”: https://pskrk.com/ukrycie-cen-dla-niezarejestrowanego-klienta-presta-shop-1-6-x/

Wskazówka: Oczywiście podaliśmy to na przykładzie szablonu „default-bootstrap” – domyślnego dla Presta Shop w tej wersji. Jeśli masz inny szablon – uwzględnij to w ścieżce do pliku z kodem HTML.

  1. Krystian Krystian

    Witam.
    Dziękuję za cenną poradę, choć w moim przypadku zwracana ilość produktów, mnożona jest razy 3. Ma Pan może jakąś sugestię skąd taka przypadłość?

  2. Jan Jan

    Trochę kiepsko wygląda jeśli mamy drzewo: BLUZY (0) –> DAMSKIE (0) / MĘSKIE (0) –> damskie LATO (5) / męskie LATO (8)… to znaczy, że jeśli główna główna kategoria nie ma wewnątrz żadnego produktu tylko podkategorie itd. to wartość jest równa „0” mimo że pod ostatnią kategorią są produkty. W przypadku „zwiniętego” drzewa główna kategoria BLUZY z ilością produktów (0) sugeruje że nie ma w sklepie żadnych bluz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Jak wyłączyć wyświetlanie podkategorii w sklepie Presta Shop?