2011-08-28 28 views
5

Tengo una pregunta que puede parecer simple, pero aun así no pude encontrar la respuesta. A diferencia de los artículos, que se almacenan en la tabla jos_content, las categorías en la tabla jos_categories carecen de cualquier columna llamada ordering o cualquier otra que tenga la información deseada almacenada. También traté de encontrar algo similar en la tabla jos_assets, pero tampoco ayudó.joomla - ¿dónde se almacena la clasificación de categoría?

Estoy hackeando un poco el componente de contenido y necesito ordenar mis categorías pedidas por el orden al llamar al $parent->getChildren() o simplemente encontrar la columna ordering para poder crear mi propia consulta aunque no esté limpia, solo necesito hazlo funcionar lo antes posible.

Entonces, ¿dónde puedo encontrar el orden de categoría o cómo forzar el método getChildren para devolver los resultados solicitados?

Gracias de antemano, Elwhis

Respuesta

7

En Joomla fin categoriza se almacena en 'jos_categories' de mesa como estructura de árbol jerárquico con un conjunto de nodos enlazados. Las columnas utilizadas para establecer el orden son: "parent_id", "LFT", "rgt" y "nivel".

Los elementos del menú y los elementos se almacenan de la misma manera.

Puede leer más sobre "el recorrido del árbol" en wiki

Editar: De Joomla 1.6 para cargar una categoría específica y todos sus hijos en un objeto de uso JCategoryNode:

jimport('joomla.application.categories'); 

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

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

Exactamente lo Lo necesitaba, gracias :) – Elwhis

+0

¡Muchas gracias! –

Cuestiones relacionadas