2011-08-28 12 views
5

Mam pytanie, które może wydawać się proste, ale nie mogłem znaleźć odpowiedzi. W przeciwieństwie do artykułów, które są przechowywane w tabeli jos_content, kategorie w tabeli jos_categories nie zawierają żadnej kolumny o nazwie ordering ani żadnej innej, która zawierałaby pożądaną informację. Próbowałem również znaleźć coś podobnego w tabeli jos_assets, ale to też nie pomogło.joomla - gdzie jest przechowywane zamawianie kategorii?

ja hacking komponent treści trochę i muszę dostać moje kategorie podrzędne zamówione przez zamawiającego podczas wywoływania $parent->getChildren() lub po prostu znaleźć kolumnę ordering więc mogę utworzyć własne zapytanie, chociaż to nie jest czysty, po prostu trzeba działaj jak najszybciej.

Więc gdzie mogę znaleźć zamawianie kategorii lub jak wymusić na metodzie getChildren zwrócenie zamówionych wyników?

Dzięki z góry, Elwhis

Odpowiedz

7

w Joomla celu kategoryzuje są przechowywane w tabeli «jos_categories» w hierarchicznej strukturze drzewa z zestawem połączonych węzłów. Kolumny stosowane do ustawiania kolejności są: "parent_id", "LFT", "rgt" i "poziom".

Zasoby i pozycje menu są przechowywane w ten sam sposób.

Możesz przeczytać więcej o "przechodzenie drzewa" na wiki

Edit: Od Joomla 1.6, aby załadować specyficzną kategorię i wszystkie swoje dzieci w obiekcie użytku JCategoryNode:

jimport('joomla.application.categories'); 

$extension = 'Content'; // com_content 
$options['countItems'] = true; 
$categoryId = 0; 

$categories = JCategories::getInstance($extension, $options); 
$categories->get($categoryId); 
+0

Dokładnie to, co Potrzebowałem, dzięki :) – Elwhis

+0

Dziękuję bardzo! –