function xtc_show_category($counter, $oldlevel = 1) { global $foo, $categories_string, $id, $cPath; $level = $foo[$counter]['level'] + 1; //BOF +++ UL LI Verschachtelung mit Quelltext Tab Einzügen +++ $ul = $tab = ''; for ($i = 1; $i <= $level; $i++) { $tab .= "\t"; } if ($level > $oldlevel) { //neue Unterebene $ul = "\n" . $tab . '<ul class="nav nav-pills nav-stacked">' . "\n"; $categories_string = rtrim($categories_string, "\n"); //Zeilenumbruch entfernen $categories_string = substr($categories_string, 0, strlen($categories_string) - 5); //letztes </li> entfernen } elseif ($level < $oldlevel) { //zurück zur höheren Ebene $ul = close_ul_tags($level, $oldlevel); } //EOF +++ UL LI Verschachtelung mit Quelltext Tab Einzügen +++ //BOF +++ Kategorien markieren +++ $category_path = explode('_', $cPath); //Kategoriepfad in Array einlesen //Elternkategorie markieren $cat_active_parent = ''; $in_path = in_array($counter, $category_path); //Testen, ob aktuelle Kategorie ID im Kategoriepfad enthalten ist if ($in_path) { $cat_active_parent = " activeparent" . $level; } //Aktive Kategorie markieren $cat_active = ''; $this_category = array_pop($category_path); //Letzter Eintrag im Array ist die aktuelle Kategorie if ($this_category == $counter) { $cat_active = " active" . $level; } //EOF +++ Kategorien markieren +++ //BOF +++ Kategorie Linkerstellung +++ $cPath_new = xtc_category_link($counter, $foo[$counter]['name']); if (trim($categories_string == '')) { $categories_string = "\n"; } //Zeilenschaltung Codedarstellung $categories_string .= $ul; //UL LI Versschachtelung $categories_string .= $tab; //Tabulator Codedarstellung $categories_string .= '<li class="level' . $level . $cat_active . $cat_active_parent . '">'; $categories_string .= '<a href="' . xtc_href_link(FILENAME_DEFAULT, $cPath_new) . '" title="' . $foo[$counter]['name'] . '">'; $categories_string .= '<h3 class="h6">' . $foo[$counter]['name'] . '</h3>'; //Anzeige Anzahl der Produkte in Kategorie, für bessere Performance im Admin deaktivieren if (SHOW_COUNTS == 'true') { $products_in_category = xtc_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= ' (' . $products_in_category . ')'; } } $categories_string .= '</a></li>'; $categories_string .= "\n"; //Zeilenschaltung Codedarstellung //EOF +++ Kategorie Linkerstellung +++ //Nächste Kategorie if ($foo[$counter]['next_id']) { xtc_show_category($foo[$counter]['next_id'], $level); } else { if ($level > 1) { $categories_string .= close_ul_tags(1, $level); } return; } }
} //BOF - DokuMan - 2010-09-21 - fixed undefined index 2 //$foo[$last_id]['next_id'] = $foo[$value]['next_id']; $foo[$last_id]['next_id'] = isset($foo[$value]['next_id']) ? $foo[$value]['next_id'] : 0; //EOF - DokuMan - 2010-09-21 - fixed undefined index 2 $foo[$value]['next_id'] = $first_id; $new_path .= '_'; } else { break; } } } //BOF - DokuMan - 2011-01-21 - Fix a notice when there is no category //xtc_show_category($first_element); if (!empty($first_element)) { xtc_show_category($first_element); } //BOF - DokuMan - 2011-01-21 - Fix a notice when there is no category $box_smarty->assign('BOX_CONTENT', $categories_string); //DokuMan - 2010-03-02 - BOX_CONTENT on wrong position } // set cache ID //BOF - DokuMan - 2010-02-28 - fix Smarty cache error on unlink /* if (!$cache || $rebuild) { $box_smarty->assign('BOX_CONTENT', $categories_string); if ($rebuild) $box_smarty->clear_cache(CURRENT_TEMPLATE.'/boxes/box_categories.html', $cache_id); $box_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_categories.html',$cache_id); } else { $box_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_categories.html', $cache_id); }