Seite 1 von 1

Nur zweite Ebene bei Navi

Verfasst: Mi 10. Mär 2004, 14:09
von opu.e
Hallo zusammen, ich habe eine Frage, wie bekomme ich es hin das bei der navi nur die zweite Ebene angezeigt wird? Wenn ich die 1. und 3. Ebene raus haue wird keine navi angezeigt. Kann es sein das die 1. Ebene nicht entfernt werden kann?

Grund ist (nur 2. Ebene) das ich eine horiz. Imageleiste hab' die (statisch im Layout) die Hauptkategorien (1. Ebene) verlinkt. Darunter ist eine Zeile wo dann dynamisch mit der navi nur die 2. Ebene angezeigt werden soll (3. wird es nicht geben).

Ich hoffe das war verständlich. Eigentlich müsste ich also nur die 1. und 2. Ebene in der navi entfernen, aber das geht irgendwie nicht. wär nett wenn jmd helfen könnte.. danke.

Code: Alles auswählen

/* Create Navigation Array */ 
nav($sel_idcat); 

/* Start Output buffer */ 
ob_start(); 

echo '<table cellspacing="0" cellpadding="0" border="0"><tr><td>'; 

foreach ($navitems as $key => $data) { 
/* 1. Navigations Ebene */ 
$tpl->reset(); 
$tpl->set('d', 'NAME', $data['name']); 
$tpl->set('d', 'TARGET', $data['target']); 
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'])); 
$tpl->next(); 

if ($idcat == $data['idcat'] || is_array($data['sub'])) { 
$tpl->generate('templates/navfirst_h_on.html'); 
} else { 
$tpl->generate('templates/navfirst_h_off.html'); 
} 
if (is_array($data['sub'])) { 
$tmp_data = array(); 
$tmp_data = $data; 
} // end if 
} // end foreach 
echo '</tr></td>'; 


if (is_array($tmp_data['sub'])) { 
$data = $tmp_data; 
echo '<tr><td>'; 
foreach ($data['sub'] as $key => $data) { 

/* 2. Navigations Ebene */ 
$tpl->reset(); 
$tpl->set('d', 'NAME', $data['name']); 
$tpl->set('d', 'TARGET', $data['target']); 
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'])); 
$tpl->next(); 

if ($idcat == $data['idcat'] || is_array($data['sub'])) { 
$tpl->generate('templates/navsecond_h_on.html'); 
} else { 
$tpl->generate('templates/navsecond_h_off.html'); 
} 
if (is_array($data['sub'])) { 
$tmp_data2 = array(); 
$tmp_data2 = $data; 
} 
} // end for each 
echo '</tr></td>'; 
} // end if 

if (is_array($tmp_data2['sub'])) { 
$data = $tmp_data2; 
echo '<tr><td>'; 
foreach ($data['sub'] as $key => $data) { 

/* 3. Navigations Ebene */ 
$tpl->reset(); 
$tpl->set('d', 'NAME', $data['name']); 
$tpl->set('d', 'TARGET', $data['target']); 
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'])); 
$tpl->next(); 

if ($idcat == $data['idcat']) { 
$tpl->generate('templates/navthird_h_on.html'); 
} else { 
$tpl->generate('templates/navthird_h_off.html'); 
} 
} // end foreach 
echo '</tr></td>'; 
} // end if 
echo '</table>'; 
mfg opu.e

Verfasst: Mi 10. Mär 2004, 15:06
von stony
gestalte doch einfach deine ordner so als wäre es die 2. die 1.

Verfasst: Mi 10. Mär 2004, 17:31
von chobbert
Die erste Ebene einfach aus dem Navigationmodul entfernen geht nicht, denn damit störst Du die Schleife, die notwendig ist um die jeweiligen Unterrubriken aufzurufen.

Um für die Zukunft besser gerüstet zu sein - z.B für den Fall, daß die Grafiken der ersten Ebene aus dem CMS heraus generiert werden - solltest Du die zweite Ebene nicht, wie vorgeschlagen, als erste Ebenen behandeln.

Die einfachste Lösung: Leere Templates für die erste Ebene.

Ansonsten kannst Du im Forum mal nach Stichwörtern wie "Navigation teilen" suchen.


Schöne Grüße

Robert

Verfasst: Mi 10. Mär 2004, 18:42
von stony
stimmt habe mir die begründung net durchgelesen sorry,

würde einfach jedem menüpumkt einfach einem baum zuweisen. somit haste die 1 ebene als bäume und die 2 ebend als kategorien.

p.s. so falsch war es dann doch net :>

Verfasst: Mi 10. Mär 2004, 20:20
von opu.e
@stony das habe ich mir auch alles gedacht blos müsste ich dann immer ein neues template nehmen und wie siehts dann mit der Verlinkung aus?

trotzdem danke, also @chobbert für die Aufklärung. Ich werds jetzt wohl mit den Templates machen, hatte eben gehofft es gäbe eine "saubere" Lösung. Naja, soo schlimm isses auch nicht. Nungut, danke noch mal.
Gruß opu.e

Verfasst: Do 11. Mär 2004, 15:41
von stony
du konfigutiert die templates für die hauptornder einfach anders, normalerweise ändert man ja da nix mehr.