Seite 1 von 1
Navigation ausgeklappt und mit wählbarem Startpunkt
Verfasst: 23. Okt 2005, 15:50
von Peter.Bickel
Hi Navi-Profis,
über Hilfe bei meinem folgenden Problem wäre ich dankbar:
Ich bräuchte eine mindestens dreistufige Navigation,
bei der
1. alle Unterebenen ausgeklappt, also immer sichtbar sind, und
2. der Startpunkt manuell wählbar ist. Ich meine damit, dass nicht wie üblicherweise die aktuelle Seite der Bezugspunkt für das Menü ist, sondern eine von mir vorgegebene Seiten-ID.
Hab trotz intensiver Suche im Forum oder im Downloadbereich keine Lösung dazu gefunden. Weiß einer Rat?
Besten Dank im voraus,
Peter.
Verfasst: 23. Okt 2005, 16:10
von Markus.Staab
Hi Peter,
Code: Alles auswählen
$startId = 5; // Hier beliebige Artikel-Id
$cat = OOCategory::getCategoryById($startId);
if( $cat !== null) {
echo '<ul>';
echo '<li>';
echo $cat->toLink();
$childs = $cat->getChildren(true);
if ( is_array($childs)) {
echo '<ul>';
foreach( $childs as $lev1) {
echo '<li>';
echo $lev1->toLink();
$lev1_childs = $lev1->getChildren(true);
if ( is_array( $lev1_childs)) {
echo '<ul>';
foreach( $lev1_childs as $lev2) {
echo '<li>';
echo $lev2->toLink();
$lev2_childs = $lev2->getChildren(true);
if ( is_array( $lev2_childs)) {
echo '<ul>';
foreach( $lev2_childs as $lev3) {
echo '<li>';
echo $lev3->toLink();
echo '</li>';
} //endforeach
echo '</ul>';
} //endif
echo '</li>';
} //endforeach
echo '</ul>';
} //endif
echo '</li>';
} //endforeach
echo '</ul>';
} //endif
echo '</li>';
echo '</ul>';
} //endforeach
Versuch mal so.
ungetestet!
Gruß,
Markus
Verfasst: 23. Okt 2005, 17:01
von Peter.Bickel
Hi Markus,
that's it!
Kompliment.
Nur noch eins: In meinem Fall wäre es ideal, wenn ich Einfluss auf den Link haben könnte. Also dass nicht wie normalerweise auf die entsprechende Seite gelinkt wird, sondern die Seiten-ID als Parameter angehängt werden kann (also statt index.php?article_id=12 lieber beispielsweise index.php?article_id=1&seite=12)
Kann man also den Link statt $lev1->toLink() auch anders rauskriegen?
Vielen Dank,
Peter.
Verfasst: 23. Okt 2005, 17:36
von Markus.Staab
Hi Peter,
anstatt
mach einfach
Code: Alles auswählen
echo '<a href="'. rex_getUrl( '', '', '&site='. $lev1->getId()) .'">'. $lev1->getName() .'</a>';
gleiches natürlich auch für $lev2 u. $lev3..
Gruß,
Markus
Verfasst: 23. Okt 2005, 17:46
von Peter.Bickel
Jawoll, danke!
Ich werd mich wieder in CDs revanchieren ...
Schönen Sonntag noch,
Peter.
Verfasst: 23. Okt 2005, 17:49
von Markus.Staab
pbickel hat geschrieben:
Jawoll, danke!
Ich werd mich wieder in CDs revanchieren ...
Schönen Sonntag noch,
Peter.
Danke gleichfalls.
Freu mich schon auf das nächste Paket
)
Gruß,
Markus