Seite 1 von 1

IsParent(possibleparent,child) implementieren?

Verfasst: Mi 4. Jul 2007, 03:25
von akb
Hallo,

ich modifiziere gerade ein Navigationsmodul, bzw. ändere das Standard-Sitemap-Modul zu einer Art Treemenu um. Aber um einen Navigationspfad zu markieren (dem Parent eine andere Klasse zuweisen) würd ich gern eine kleine Funktion in der Form

Code: Alles auswählen

IsParent($possibleParent, $child)
implementieren. Weiss nur irgendwie gerade nicht wo ich da ansetzen kann... hat jemand einen Tipp oder vielleicht gar eine fertige Funktion?

Es soll für jedes Level2 und Level3-Element ausgeben, ob ein Level1-Element als "Overall Parent" dahin fungiert... wisst sicher wie ich das meine :-)

Verfasst: Mi 11. Jul 2007, 11:27
von emergence
wisst sicher wie ich das meine
also nein, versteh ich nicht...

Verfasst: Do 12. Jul 2007, 13:56
von knb
Ich glaube er meint mit "Overall Parent" so was wie "Ancestor"
(=> XPath).

Die Funktion sollte also mögllicherweise besser IsAncestor() heissen.

Wie dem auch sei ...eine Implementierung davon habe ich leider gerade nicht dabei :oops:

Verfasst: Mo 23. Jul 2007, 18:16
von akb
Danke für's Reinschauen, hab es nun endlich (okay, hab mich heute das erste Mal richtig mit befasst) geschafft. Ist eigentlich ganz einfach:

Code: Alles auswählen

cInclude("frontend", "includes/functions.navigation.php"); // muss natürlich drin sein

function isAncestor($parent, $child) {
    $ancestorDB = new DB_Contenido;
    $path = getCategoryPath($child, 1, false, $ancestorDB);
    if ( in_array($parent,$path) ) {
        return true;
    } else {
        return false;
    }
}
edit: wäre das nicht ein kandidat für die functions.navigation.php direkt?