ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
202
202
EMPFEHLEN
-
Hallo Leute,
ich habe ein kleines Problem mit einer rekursiven Navigation.
Eigentlich funktioniert diese genau so wie sie soll.
Jetzt möchte ich aber in der ersten Ebene und nur in dieser, händisch einen Navigationspunkt hinzufügen der an unterster Stelle erscheinen soll.
Leider wird mir dieser neue Navigationspunkt auch immer in jeder Ebene angezeigt die ich anklicke.
Also so soll es aussehen:
Code :1 2 3 4
Punkt 1 Punkt 2 Punkt 3 Punkt X <--- händisch hinzugefügt
Und so sieht es bei mir aus:
Code :1 2 3 4 5 6
Punkt 1 Punkt X <--- händisch hinzugefügt Punkt 2 Punkt X <--- händisch hinzugefügt Punkt 3 Punkt X <--- händisch hinzugefügt
Hat jemand eine Idee was ich falsch mache?
Hier mal der Code der an enstsprechender Stelle kommentiert ist:
Freue mich auf einen Vorschlag.PHP-Code:function get_navigation($parent_id = '0', $lcatID = NULL){
global $languages_id;
static $ebene = 0;
$menu = NULL;
$wert = NULL;
isset($_GET['c']) ? $cid = $_GET['c'] : $cid = NULL;
$cat_auswahl = explode(SEPERATOR,$cid);
if (!empty($cid)){$cat_auswahl = explode(SEPERATOR,$cid);}
$sql = tep_db_query("select c.section_id, c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '".$parent_id."' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' and (c.section_id = '0' || c.section_id = '".$_SESSION['s']."') order by sort_order, cd.categories_name");
$menge = tep_db_num_rows($sql);
for ($lo=0;$lo<$menge;$lo++)
{
$row = tep_db_fetch_array($sql);
if ($ebene > 0)
{
$_naviClass = 'naviChild';
}else{
$_naviClass = 'navi';
}
if ($ebene >= 1){$wert = $ebene * 10 + 15 . 'px';}
$_href = tep_href_link(FILENAME_DEFAULT, 'c='.$lcatID.$row['categories_id']);
if (in_array($row['categories_id'], $cat_auswahl)) {
$menu .= '<div id="'.$_naviClass.'"><a href="'.$_href.'" class="'.$_naviClass.'" style="padding-left:'.$wert.'"><b>'.$row['categories_name'].'</b></a></div>';
}else{
$menu .= '<div id="'.$_naviClass.'"><a href="'.$_href.'" class="'.$_naviClass.'" style="padding-left:'.$wert.'">'.$row['categories_name'].'</a></div>';
}
if (isset($cat_auswahl[$ebene]) && $row['categories_id'] == $cat_auswahl[$ebene])
{
$catid = $row['categories_id'];
$ebene++;
$menu .= get_navigation($catid,$lcatID."$catid".SEPERATOR);
$ebene--;
}
}
// Dies ist der neue manuelle Navigationspunkt welcher an unterster Stelle stehen sollte.....
$menu .= '<div id="'.$_naviClass.'"><a href="'.$_href.'" class="'.$_naviClass.'" style="padding-left:'.$wert.'">Punkt X</a></div>';
return $menu;
}
Gruss und DankeGeändert von xtramen01 (16.12.09 um 16:15 Uhr)
-
Du willst das ja nur in der ersten Ebene haben und nicht bei jedem Funktionsaufruf ...
D.h. du solletst prüfen ob du noch ind er ersten Ebene bist;
PHP-Code:{...}
if($parent_id == 0)
{
$menu .= 'eigener eintrag';
}
return $menu;
}
Ähnliche Themen
-
Problem mit rekursiver Funktion
Von visiondpc im Forum PHPAntworten: 4Letzter Beitrag: 09.09.07, 16:09 -
Parameter wird gelöscht bei rekursiver Funktion
Von tantebootsy im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 19.05.06, 11:32 -
Probleme bei rekursiver Funktion für Menü
Von Klopfdreh im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 10.01.06, 14:21 -
Rechtehandling per rekursiver Funktion -> Prob
Von Morph im Forum PHPAntworten: 2Letzter Beitrag: 25.04.03, 02:31 -
Problem mit rekursiver Funktion in ABAP
Von SirNeo im Forum Sonstige SprachenAntworten: 2Letzter Beitrag: 17.01.02, 10:14





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren