Jump to content
xt:Commerce Community Forum

Nur die erste und zweite Ebene der Kategorien anzeigen


olivius

Recommended Posts

Wie kann man die Query in der catergories.php anpassen, das (für eine zusätzliche) Navigation nur jeweils die erste bzw. die zweite Ebene angezeigt wird. Das Original sieht so aus:

$categories_query = "select c.categories_id,
cd.categories_name,
c.parent_id from ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd
where c.categories_status = '1'
and c.parent_id = '0'
".$group_check."
and c.categories_id = cd.categories_id
and cd.language_id='".(int) $_SESSION['languages_id']."'
order by sort_order, cd.categories_name";[/PHP]

Ich hatte ja gehofft, das das über die parent_id geschieht, leider ist das nicht der Fall. Gibt es generell schon eine Erklärung oder ein Manual zu der categories.php, insbesondere wie eigentlich die Kategorien zusammengesetzt werden? (Also durch welchen Inhalt in der Datenbank SubKategorie X unter MainKategorie Y steht)

Vielen Dank fü die Hilfe!

Link to comment
Share on other sites

Na gut, wenn mir keiner hilft, helfe ich mir halt selbst... Vieleicht ist es aber auch einfach zu trivial; wie auch immer, für alle die es interessiert:

Man verändert in der xtc_show_category.inc.php

function xtc_show_Navcategory($counter, $levelNow = -1 , $getPrev = "-1" ) {
global $foo, $categories_string, $id;
//OS 080207 Funktion wird nur ausgeführt, wenn das richtige Level erreicht ist
if ($foo[$counter]['level'] == '0'){[/PHP]

und schließt die if Abfrage vorm erneuten Aufruf der Funktion:

[PHP]
// Wenn nächste Elementebene kleiner ist als die aktuelle, soviele Schließtags wie Differenz ist
if ($foo[$getNext]['level'] < $foo[$counter]['level'] ) {
$cul = $foo[$counter]['level'] - $foo[$getNext]['level'] ;
for ($iul = 1; $iul <= $cul ; $iul++ ) {
$categories_string .= '</li>';
}
}
//OS 080207 if ende
}
// Wenn weitere Elemente vorhanden sind, rufe Funktion mit nächstem Element auf, andernfalls schließe Ebene 1 und Boxen
if ($foo[$counter]['next_id']) {
xtc_show_Navcategory($foo[$counter]['next_id'], $foo[$counter]['level'], $counter );
} else {
$categories_string .= '';
}

}

?>
[/PHP]

Es geht bestimmt auch anders... Also alle Schlaumeier des Forums, erzählt was ihr besser wißt... ;)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...