ciao, non sono un esperto in php per cui vorrei che mi aiutaste a scrivere un metodo che, dato un nodo padre, mi dia tutte le foglie (che non sono altro che una lista di prodotti).

ho fatto l'algoritmo ma ciò che mi risulta difficile è l'implementazione. cmq di seguito posto sia l'algoritmo che ho pensato di fare che l'implementazione fatta da me...

codice:
function (parent, children) {
     if (parent.hasChildren()) {
          tmp= parent.nextChildren();
          while(!tmp.end) {
                 function(tmp, children);
                 tmp = parent.nextChildren();
          }
     }
     else children.append(parent)    <- qui dovrebbero essere le foglie contenenti le liste dei prodotti     
}
Codice PHP:
function analizeTree ($parent, &$children) {
    
    
$db=JFactory::getDBO();
    
$query="SELECT category_child_id FROM #__vm_category_xref WHERE category_parent_id=".$parent;
    
$db->setQuery($query);
    
$son=$db->loadObjectList();

    if (
$son) {
        
$tmp next($son);
        while (
$tmp) {
            
$query="SELECT category_child_id FROM #__vm_category_xref WHERE category_parent_id=".$tmp;
            
$db->setQuery($query);
            
$tmpson=$db->loadObjectList();
            
analizeTree($tmp,$tmpson);
            
$tmp next($son);
        }
    }
    else {
        
$query="SELECT product_id FROM #__vm_product_xref WHERE category_id=".$parent;
        
$db->setQuery($query);
        
$product=$db->loadObjectList();

        
$products append($product);
    }


sarei molto grato a chiunque mi aiutasse...