Strona główna forum Wsparcie Szablony Magento... Id katalogu nadrzędnego

Id katalogu nadrzędnego

Forum poświęcone projektowaniu layout'ów dla Magento...

Post 2 lip 2011, o 17:29

Posty: 6
Gadu-Gadu: 0

Witam,
Może ktoś zna prosty sposób na ustalenie Id kategorii nadrzędnej (pierwsza pod Default Category), w której drzewie aktualnie się znajduję. Sposób, który znalazłem wymaga sporej ilości kodu a może jest coś prostego.

pozdrawiam

Id katalogu nadrzędnego

PostTeraz jest 21 wrz 2018, o 04:34
Google

Posty: 427
Lokalizacja: Internet

Post 2 lip 2011, o 18:09
jemoon Avatar użytkownika
Administrator

Posty: 529
Lokalizacja: Gdańsk
Gadu-Gadu: 0

witam,
Panel Administracyjny -> Katalog -> Zarządzanie kategoriami -> Podświetlasz sobie z lewego menu kategorię, która Cię interesuje i w nagłówku przy tytule kategorii wyświetla Ci się również jej ID.

Post 3 lip 2011, o 11:33

Posty: 6
Gadu-Gadu: 0

Jemon. Rozbawiłeś mnie strasznie tą odpowiedzią. Chyba źle napisałem. Zrobiłem szablon, który mam dość nietypowe menu. Dla prawidłowego działania skrypt musi wiedzieć w jakiego rodzica drzewie aktualnie się jest. Sprawdzenie bierzącej kategorii jest proste (getCurrentCategory->getId), to samo z kategoriami podrzędnymi, czy ustaleniem id kategorii głównej. Problem mam tylko z ustaleniem id rodziców poszczególnych drzew menu.
Mógłbym skorzystać z Twojej propozycji i zapisać dane dotyczące rozmieszczenia kategorii w tablicy. Skrypt znając id aktywnej kategorii mógłby pobierać z tej tablicy numer id rodzica. Ale to bez sensu, bo przy każdej zmianie układu menu trzeba by ręcznie zmieniać wpisy w tablicy. Więc klient za każdym razem, gdy zmieni menu musiałby korzystać z moich usług. Nie miałbym nic przeciwko gdbyby dał się namówić, że za każdym razem odpali kilka stówek. Na razie zrobiłem to za pomocą petli foreach przeszukując przy każdym wyświetleniu menu wszystkie kategorie. Wydaje mi się jednak, że powinien być bardziej prosty sposób na ustalenie id nadrzędnego rodzica, tak jak prosto można ustalić id dzieci.

Post 3 lip 2011, o 12:26

Posty: 6
Gadu-Gadu: 0

:geek: Ale ze mnie D... W poprzednim poście sam sobie dałem odpowiedź..... Wystarczyło użyć właśnie getCurrentCategory.

Post 3 lip 2011, o 12:29
jemoon Avatar użytkownika
Administrator

Posty: 529
Lokalizacja: Gdańsk
Gadu-Gadu: 0

witam,
:) Sorry, na szybko pomyślałem, że potrzebujesz tylko ID żeby w jakiś widget albo blok wstawić (np do wyświetlenia produktów z konkretnej kategorii).
Wracając do tematu, rodzica kategorii wyciągniesz za pomocą:
$cur_cat = Mage::registry('current_category');
$par_id = $cur_cat->parent_id();

Post 3 lip 2011, o 13:21

Posty: 6
Gadu-Gadu: 0

Też za szybko myślę, jak widać....
Próbowałem tego i daje mi null jak zablokuję wyświetlanie pozostałych kategorii. Ciekawe dlaczego?

Post 3 lip 2011, o 21:09
jemoon Avatar użytkownika
Administrator

Posty: 529
Lokalizacja: Gdańsk
Gadu-Gadu: 0

witam,
Ok, spróbuj jeszcze:
$cur_cat = Mage::registry('current_category');
$_parent_cat  = $cur_cat->getParentCategory()->getId();

jak nie zadziała to przestane strzelać i poszukam działającej metody :) bo nadal piszę z pamięci.


Powrót do Szablony Magento...