[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Navigation als Select Box
Seite 1 von 1

Navigation als Select Box

Verfasst: 28. Nov 2013, 13:32
von flow013
Hallo,

ich versuche gerade eine Navigation der 2. Ebene als Select Box auszugeben.
Hat jemand eine Idee?

Danke für die Hilfe!

Re: Navigation als Select Box

Verfasst: 28. Nov 2013, 15:39
von Cheffchen
Hallo,

das ist mehr oder weniger einfache php abfrage.

hier mal was ich glaube mal benutzt habe, frage mich aber nicht wo her oder selber gebastelt.
Ist aber drei ebenen einfach den teil mit level 3 löschen

Code: Alles auswählen

<select name="top5" size="5">
<?php
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
foreach (OOCategory::getRootCategories(true) as $lev1){
    if($lev1->isOnline(true)) {
        if($lev1->getId() == $PATH[1])
        echo '<option value="'.$lev1->getUrl().'" selected >- '.$lev1->getName().'</option>';
        else
        echo '<option value="'.$lev1->getUrl().'">- '.$lev1->getName().'</option >';
        
        $lev1Size = sizeof($lev1->getChildren(true));
        if ($lev1Size != "0") {
            foreach ($lev1->getChildren() as $lev2){
                if ($lev2->isOnline(true)) {
                
                    if($lev2->getId() == $PATH[2])
                    echo '<option value="'.$lev2->getUrl().'" selected >-- '.$lev2->getName().'</option>';
                    else
                    echo '<option value="'.$lev2->getUrl().'">-- '.$lev2->getName().'</option >';
                                            
                    $lev2Size = sizeof($lev2->getChildren(true));
                    if ($lev2Size != "0") {
                        foreach ($lev2->getChildren() as $lev3){
                            if ($lev3->isOnline(true)) {
                            
                                if($lev3->getId() == $PATH[3])
                                echo '<option value="'.$lev3->getUrl().'" selected >--- '.$lev3->getName().'</option>';
                                else
                                echo '<option value="'.$lev3->getUrl().'">--- '.$lev3->getName().'</option >';        
                                
                            }#lev3 isOnline 
                        }#lev3 foreach
                    }#lev2Size hat kinder                    
                }#lev2 isOnline 
            }#lev2 foreach
        }#lev1Size hat kinder 
    }#lev1 isOnline 
}#root foreach
?>

</select>
Cheffchen

Re: Navigation als Select Box

Verfasst: 28. Nov 2013, 15:54
von flow013
Hi Cheffchen,

danke für die schnelle Antwort!
Das ganze scheint in die richtige Richtung zu gehen, allerdings wird die Selectbox seltsam dargestellt und die Weiterleitung in den jeweiligen Seitenbereich fehlt noch.
Eine Idee woran es liegen kann?

Re: Navigation als Select Box

Verfasst: 28. Nov 2013, 19:17
von Cheffchen
Hallo,

das dürfte aber html grundkurs sein oder meinst was anderes?
zeile 1

Code: Alles auswählen

<select name="top5" size="5">
ändern in 
<select name="top5" size="1"> 
der rest ist jquery wenn was geklickt soll weitergeleitet werden.

Cheffchen

Re: Navigation als Select Box

Verfasst: 28. Nov 2013, 19:36
von flow013
Perfekt, jetzt passt es - danke!
Und das mit dem HTML-Grundkurs habe ich überlesen ;)

Re: Navigation als Select Box

Verfasst: 28. Nov 2013, 20:16
von flow013
Sorry, eine Frage noch:
ich möchte lediglich die Unterpunkte der zweiten Ebene aus der ausgewählten Kategorie anzeigen lassen.
So sieht es momentan aus:
<select name="top5" size="1">
<?php
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
foreach (OOCategory::getRootCategories(true) as $lev1){
if($lev1->isOnline(true)) {

$lev1Size = sizeof($lev1->getChildren(true));
if ($lev1Size != "0") {
foreach ($lev1->getChildren() as $lev2){
if ($lev2->isOnline(true)) {

if($lev2->getId() == $PATH[2])
echo '<option value="'.$lev2->getUrl().'" selected >'.$lev2->getName().'</option>';
else
echo '<option value="'.$lev2->getUrl().'">'.$lev2->getName().'</option >';


}#lev2 isOnline
}#lev2 foreach
}#lev1Size hat kinder
}#lev1 isOnline
}#root foreach
?>

</select>