ich (=ContenidoFreshMan) verwende aus dem Forumfundus folgenden Code (welcher OK sein soll) für einen BreadCrumb:
Code: Alles auswählen
$nav_tp = $idcat;
// AUSGABE Location-String (nur Kategorien)
while($nav_tp > 0) {
$sql = "SELECT
parentid, A.idcat, A.level, name
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat=B.idcat AND
B.idcat=C.idcat AND
C.idlang='$lang' AND
B.idclient='$client' AND
B.idcat ='$nav_tp'";
$db->query($sql);
$db->next_record();
$nav_tree[$db->f("level")][idcat] = $nav_tp;
$nav_tree[$db->f("level")][parent] = $db->f("parentid");
$nav_tree[$db->f("level")][name] = $db->f("name");
$nav_tree[$db->f("level")][link] = $sess->url("front_content.php?idcat=".$db->f("idcat")."&client=".$client."&lang=".$lang."");
$nav_tp = $db->f("parentid");
}
for($i=0;$i<count($nav_tree);$i++) {
echo "<a class=\"breadcrumb\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>";
if($nav_tree[$i][idcat] != $idcat) {
echo " <span class=\"breadcrumb\"> > </span>"; // seperator
}
}
// AUSGABE vom aktuellen Artikeltitel
$i=$i-1;
$new_idart=$idart;
$sql = "SELECT
idart, is_start
FROM
".$cfg["tab"]["cat_art"]."
WHERE
idart='$new_idart' AND is_start='0'";
$db->query($sql);
if($db->next_record()) {
$sql = "SELECT
idartlang, title
FROM
".$cfg["tab"]["art_lang"]."
WHERE
idartlang='$new_idart'";
$db->query($sql);
$db->next_record();
$art_titel=$db->f("title");
echo " <span class=\"breadcrumb\"> > </span> <a class=\"breadcrumb\" href=\"".$nav_tree[$i][link]."&idart=$new_idart\">".$art_titel."</a>";
}
eine Kategorie sieht bei mir wie folgt aus (Haupt/Sub) z.B.:
Unternehmen
Unternehmen / Partner
Unternehmen / Mitarbeiter
Unternehmen / Qualitätsmanagement
Die Hauptkategorie wird immer richtig angezeigt, nur bei des Subkategorie zeigt er immer die letzte Subkat an wie sie im Backend definiert ist.
Also im oberen Fall, egal wo ich mich befinde, zeigt er mit immer an:
Unternehmen > Qualitätsmanagement
Kann mir jemand helfe?
lg
rg