Leider schon wieder: zweimal Hauptnavigation - wie geht das?

Gesperrt
Hulk
Beiträge: 25
Registriert: So 21. Nov 2004, 23:29
Kontaktdaten:

Leider schon wieder: zweimal Hauptnavigation - wie geht das?

Beitrag von Hulk »

Ich möchte zweimal die gleiche Navigation untereinander haben, später mit unterschiedlichen Bäumen gefüllt.

Ich habe sämtliche Postings und Antworten gelesen und versucht, in meiner Navigations-Kopie die richtigen Variablen umzubenennen. Leider hat nichts geklappt. Deshalb die Bitte, mir das an meinem Code zu zeigen. Es handelt sich um ein leicht verändertes css-gestütztes Modul von der Seite http://www.thilo-sommer.de/PHPMyFAQ/att ... lution.zip von Peter Bauvin:

Code: Alles auswählen


/** 
* Navigation 
* 
* INPUT 
* 
* @autor Jan Lengowski <Jan.Lengowski@4fb.de> 
* @copyright four for business AG 2003 
*/ 

?> 
<table cellspacing="0" cellpadding="0" cellpadding="4"> 

    <tr> 
        <td class="text">Baum wählen:</td> 
        <td> 
            <select name="CMS_VAR[0]"> 
            <option value="0">-- kein --</option> 
            <?php 

                $sql = "SELECT 
                            A.idcat, 
                            C.name 
                        FROM 
                            ".$cfg["tab"]["cat_tree"]." AS A, 
                            ".$cfg["tab"]["cat"]." AS B, 
                            ".$cfg["tab"]["cat_lang"]." AS C 
                        WHERE 
                            A.idcat     = B.idcat AND 
                            B.idcat     = C.idcat AND 
                            C.idlang    = '".$lang."' AND 
                            B.idclient  = '".$client."' AND 
                            C.visible   = 1 AND 
                            A.level     = '0' 
                        ORDER BY 
                            A.idtree"; 

                $db->query($sql); 

                while ( $db->next_record() ) { 

                    if ( "CMS_VALUE[0]" == $db->f("idcat") ) { 
                        echo '<option selected="selected" value="'.$db->f("idcat").'">'.$db->f("name").'</option>'; 

                    } else { 
                        echo '<option value="'.$db->f("idcat").'">'.$db->f("name").'</option>'; 

                    } 
                } 

            ?> 
            </select> 
        </td> 
    </tr> 

</table> 

<?php 

Code: Alles auswählen

<!--start modul--> 
<?php 

/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Navigation 1.1 
* Author      :     Jan Lengowski 
* Copyright   :     Contenido - four for business 
* Created     :     15-05-2003 
* Modified    :     26-05-2003 
************************************************/ 

if ( !is_object($db2) ) { 
    $db2 = new DB_Contenido; 
} 

/** 
* Check if a category is child 
* of another category 
* 
* @return boolean true/false 
* @author Jan Lengowski <Jan.Lengowski@4fb.de> 
* @copyright four for business AG 2003 
*/ 
function catIsChildOf($id, $idparent) { 

    global $cfg, $client, $lang; 

    $db = new DB_Contenido; 

    $parent = $id; 

    while ( $parent != 0 ) { 

        $sql = "SELECT 
                    a.parentid 
                FROM 
                    ".$cfg["tab"]["cat"]." AS a, 
                    ".$cfg["tab"]["cat_lang"]." AS b 
                WHERE 
                    a.idclient  = '".$client."' AND 
                    b.idlang    = '".$lang."' AND 
                    a.idcat     = b.idcat AND 
                    a.idcat   = '".$parent."'"; 

        $db->query($sql); 
        $db->next_record(); 

        $parent = $db->f("parentid"); 

        if ($parent == $idparent) { 
            return true; 
        } 

    } 

    return false; 

} 

if ( catIsChildOf($idcat, CMS_VALUE[0]) ) { 
    $sel_idcat = $idcat; 
} else { 
    $sel_idcat = CMS_VALUE[0]; 
} 

/* Include Template Class */ 
include_once($cfg["path"]["contenido"] . 'classes/class.template.php'); 

/** 
* Array storing alle the 
* navigation data 
*/ 
$navitems = array(); 


/* Template Instance */ 
$tpl = new Template; 

/** 
* Recursive function for creating 
* the navigation array 
* @param Int $idcat Category id 
*/ 
function nav($idcat) { 

        global $navitems, $client, $lang, $cfg; 

        $db  = new DB_Contenido; 
        $db2 = new DB_Contenido; 

        $sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'"; 

        $db->query($sql); 
        $db->next_record(); 

        $parentid = $db->f("parentid"); 

        if ( $parentid == 0 ) { 

           if ( $idcat != CMS_VALUE[0] ){ 

                $navitems = array(); 
              
                $sql = "SELECT 
                            A.idcat, 
                            C.name 
                        FROM 
                            ".$cfg["tab"]["cat_tree"]." AS A, 
                            ".$cfg["tab"]["cat"]." AS B, 
                            ".$cfg["tab"]["cat_lang"]." AS C 
                        WHERE 
                            A.idcat     = B.idcat   AND 
                            B.idcat     = C.idcat   AND 
                            B.idclient  = '$client' AND 
                            C.idlang    = '$lang'   AND 
                            C.visible   = '1'       AND 
                            B.parentid  = 'CMS_VALUE[0]' 
                        ORDER 
                            BY A.idtree"; 

                      $db->query($sql); 

                      while ($db->next_record()) { 

                            /* Check for external redirects... */ 
                            $sql = "SELECT 
                                        a.external_redirect AS ext 
                                    FROM 
                                        ".$cfg["tab"]["art_lang"]." AS a, 
                                        ".$cfg["tab"]["cat_art"]." AS b, 
                                        ".$cfg["tab"]["cat"]." AS c 
                                    WHERE 
                                        b.idcat     = '".$db->f("idcat")."' AND 
                                        b.is_start  = '1' AND 
                                        c.idclient  = '".$client."' AND 
                                        c.idcat     = b.idcat AND 
                                        a.idart     = b.idart AND 
                                        a.idlang    = '".$lang."'"; 

                            $db2->query($sql); 
                            $db2->next_record(); 

                            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 

                            $navitems[$db->f("idcat")] = array("idcat"      => $db->f("idcat"), 
                                                                "name"      => $db->f("name"), 
                                                                "target"    => $target); 
                      } 

           } 
            
           return true; 
        } 

        $sql = "SELECT 
                    A.idcat, 
                    C.name 
                FROM 
                    ".$cfg["tab"]["cat_tree"]." AS A, 
                    ".$cfg["tab"]["cat"]." AS B, 
                    ".$cfg["tab"]["cat_lang"]." AS C 
                WHERE 
                    A.idcat     = B.idcat   AND 
                    B.idcat     = C.idcat   AND 
                    B.idclient  = '$client' AND 
                    C.idlang    = '$lang'   AND 
                    C.visible   = '1'       AND 
                    B.parentid  = '$parentid' 
                ORDER BY 
                    A.idtree"; 

        $db->query($sql); 

        while ($db->next_record()) { 

                /* Check for external redirects... */ 
                $sql = "SELECT 
                            a.external_redirect AS ext 
                        FROM 
                            ".$cfg["tab"]["art_lang"]." AS a, 
                            ".$cfg["tab"]["cat_art"]." AS b, 
                            ".$cfg["tab"]["cat"]." AS c 
                        WHERE 
                            b.idcat     = '".$db->f("idcat")."' AND 
                            b.is_start  = '1' AND 
                            c.idclient  = '".$client."' AND 
                            c.idcat     = b.idcat AND 
                            a.idart     = b.idart AND 
                            a.idlang    = '".$lang."'"; 

                $db2->query($sql); 
                $db2->next_record(); 

                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 
                
                $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"), 
                                                  "name"    => $db->f("name"), 
                                                  "target"  => $target); 
        } 

        $tmp_nav[$idcat]["sub"] = $navitems; 
        $navitems = $tmp_nav; 

        /* Function call */ 
        nav($parentid); 

}  // end function 

$sql = "SELECT 
            A.idcat, 
            C.name 
        FROM 
            ".$cfg["tab"]["cat_tree"]." AS A, 
            ".$cfg["tab"]["cat"]." AS B, 
            ".$cfg["tab"]["cat_lang"]." AS C 
        WHERE 
            A.idcat     = B.idcat   AND 
            B.idcat     = C.idcat   AND 
            B.idclient  = '$client' AND 
            C.idlang    = '$lang'   AND 
            C.visible   = '1'       AND 
            B.parentid  = '$sel_idcat' 
        ORDER BY 
            A.idtree"; 

$db->query($sql); 

while ( $db->next_record() ) { 

        /* Check for external redirects... */ 
        $sql = "SELECT 
                    a.external_redirect AS ext 
                FROM 
                    ".$cfg["tab"]["art_lang"]." AS a, 
                    ".$cfg["tab"]["cat_art"]." AS b, 
                    ".$cfg["tab"]["cat"]." AS c 
                WHERE 
                    b.idcat     = '".$db->f("idcat")."' AND 
                    b.is_start  = '1' AND 
                    c.idclient  = '".$client."' AND 
                    c.idcat     = b.idcat AND 
                    a.idart     = b.idart AND 
                    a.idlang    = '".$lang."'"; 

        $db2->query($sql); 
        $db2->next_record(); 

        $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 

        $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"), 
                                           "name"   => $db->f("name"), 
                                           "target" => $target); 
} 

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

/* Start Output buffer */ 


/************************************************************/ 

echo '<div id="navcontainer"> 
<ul id="navlist">';/*liste erste ebene***********************************/ 

foreach ($navitems as $key => $data) { 

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

echo '<li>';/*anfang listenpunkte erste ebene***********************/ 

        if ($idcat == $data['idcat']) { // template für aktiven menüpunkt 
   $tpl->generate('templates/nav1_active.html'); 
        } elseif ( is_array($data['sub']) ) { // template für geöffnete kategorien 
   $tpl->generate('templates/nav1_on.html'); 
        } else { // template für geschlossene nicht aktive kategorie 
   $tpl->generate('templates/nav1_off.html'); 
        } 


    if (count($data['sub'])>=1) { 
echo '<ul id="subnavlist">';/*anfang liste zweite ebene****************************/ 

        foreach ($data['sub'] as $key => $data) { 

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

echo '<li id="subactive">';/*anfang listenpunkte zweite ebene**********************/ 
            if ($idcat == $data['idcat']) { // template für aktiven menüpunkt 
           $tpl->generate('templates/nav2_active.html'); 
                } elseif ( is_array($data['sub']) ) { // template für geöffnete kategorien 
           $tpl->generate('templates/nav2_on.html'); 
                } else { // template für geschlossene nicht aktive kategorie 
           $tpl->generate('templates/nav2_off.html'); 
                } 

    if (count($data['sub'])>=1) { 
echo '<ul id="sub_subnavlist">';/*anfang liste dritte ebene*****************************/ 


                foreach ($data['sub'] as $key => $data) { 

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

echo '<li id="sub_subactive">';/*anfang listenpunkte dritte ebene***********************/ 

                   if ($idcat == $data['idcat']) { // template für aktiven menüpunkt 
                   $tpl->generate('templates/nav3_active.html'); 
                        } elseif ( is_array($data['sub']) ) { // template für geöffnete kategorien 
                   $tpl->generate('templates/nav3_on.html'); 
                        } else { // template für geschlossene nicht aktive kategorie 
                   $tpl->generate('templates/nav3_off.html'); 
                        } 

echo '</li>';/*ende listenpunkte dritte ebene************************/ 
                } // end foreach 
echo '</ul>';/*ende liste dritte ebene******************************/ 

            } // end if 
echo '</li>';/*ende listenpunkte zweite ebene***********************/ 
        } // end foreach 
echo '</ul>';/*ende liste zweite ebene*****************************/ 
    } // end if 

echo '</li>';/*ende listenpunkte erste ebene************************/ 
} // end foreach 

echo '</ul>';/*ende liste erste ebene*******************************************************/ 

/***********************************************************/ 
echo '</div>'; 

/* Output buffer-contents */ 
echo $html; 

?> 
<!--end Modul--> 
Was muss/kann ich ändern, damit eine zweite Kopie im gleichen Template funktioniert.

Bitte keine Verweise auf andere Seiten, da ich das dort vorgeführte nicht kapiere. Es wäre toll, wenn jemand den Code einmal testen würde.

Vielen Dank!

Hulk
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

*** make your own tools (wishlist :: thx)
Hulk
Beiträge: 25
Registriert: So 21. Nov 2004, 23:29
Kontaktdaten:

Ja, genau den Verweis habe ich ausprobiert ...

Beitrag von Hulk »

und nicht zum Laufen gekriegt.

Vielleicht erbarmt sich doch noch jemand.

Vielen Dank im Voraus!

Hulk
Hulk
Beiträge: 25
Registriert: So 21. Nov 2004, 23:29
Kontaktdaten:

Pädagogisch wertvoll

Beitrag von Hulk »

Hallo Emergence,

hab es jetzt nochmal probiert - und geschafft. Hier für Nachahmer der Code für Hauptnavi Nr. 2 (Nr. 1 vgl. oben):

INPUT

Code: Alles auswählen

// selected category 
$selected = "CMS_VALUE[9000]"; 

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\"> 
        <tr valign=\"top\"> 
          <td>Kategorie wählen:</td> 
          <td> 
            <select name=\"CMS_VAR[9000]\">"; 
            if($selected!="0" && $selected!=""){ 
             echo"<option value=\"0\">--- kein ---</option>"; 

            }else{ 
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>"; 
            } 

            // fetch all categorys 
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ". 
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ". 
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ". 
                     "AND C.visible=1 ORDER BY A.idtree"; 
            // execute query 
            $db->query($query); 

            // loop result and build the options 
            while ($db->next_record()) { 

              // indent spacer 
              $spaces = "|"; 

              // how many levels 
              $levels = $db->f("level"); 

              for ($i = 0; $i < $levels; $i ++) { 
                // add 2 spaces for every level 
                $spaces = $spaces . "--"; 

              } // end for 
              
              $spaces .= ">"; 


              if ($selected == $db->f("idcat")) { 
                // selected category 
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>"; 

              } else { 
                // category 
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>"; 

              } // end if 

            } // end while 

echo "      </select>"; 

echo "    </td> 
        </tr> 
      </table>"; 
OUTPUT

Code: Alles auswählen

<!--start modul--> 
<?php 

/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Navigation 1.1 
* Author      :     Jan Lengowski 
* Copyright   :     Contenido - four for business 
* Created     :     15-05-2003 
* Modified    :     26-05-2003 
************************************************/ 

if ( !is_object($db2) ) { 
    $db2 = new DB_Contenido; 
} 

/** 
* Check if a category is child 
* of another category 
* 
* @return boolean true/false 
* @author Jan Lengowski <Jan.Lengowski@4fb.de> 
* @copyright four for business AG 2003 
*/ 
function catIsChildOf_mod2($id, $idparent) { 

    global $cfg, $client, $lang; 

    $db = new DB_Contenido; 

    $parent = $id; 

    while ( $parent != 0 ) { 

        $sql = "SELECT 
                    a.parentid 
                FROM 
                    ".$cfg["tab"]["cat"]." AS a, 
                    ".$cfg["tab"]["cat_lang"]." AS b 
                WHERE 
                    a.idclient  = '".$client."' AND 
                    b.idlang    = '".$lang."' AND 
                    a.idcat     = b.idcat AND 
                    a.idcat   = '".$parent."'"; 

        $db->query($sql); 
        $db->next_record(); 

        $parent = $db->f("parentid"); 

        if ($parent == $idparent) { 
            return true; 
        } 

    } 

    return false; 

} 

if ( catIsChildOf_mod2($idcat, CMS_VALUE[9000]) ) { 
    $sel_idcat = $idcat; 
} else { 
    $sel_idcat = CMS_VALUE[9000]; 
} 

/* Include Template Class */ 
include_once($cfg["path"]["contenido"] . 'classes/class.template.php'); 

/** 
* Array storing alle the 
* navigation data 
*/ 
$navitems_mod2 = array(); 


/* Template Instance */ 
$tpl_mod2 = new Template; 

/** 
* Recursive function for creating 
* the navigation array 
* @param Int $idcat Category id 
*/ 
function nav_mod2($idcat) { 

        global $navitems_mod2, $client, $lang, $cfg; 

        $db  = new DB_Contenido; 
        $db2 = new DB_Contenido; 

        $sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'"; 

        $db->query($sql); 
        $db->next_record(); 

        $parentid = $db->f("parentid"); 

        if ( $parentid == 0 ) { 

           if ( $idcat != CMS_VALUE[9000] ){ 

                $navitems_mod2 = array(); 
              
                $sql = "SELECT 
                            A.idcat, 
                            C.name 
                        FROM 
                            ".$cfg["tab"]["cat_tree"]." AS A, 
                            ".$cfg["tab"]["cat"]." AS B, 
                            ".$cfg["tab"]["cat_lang"]." AS C 
                        WHERE 
                            A.idcat     = B.idcat   AND 
                            B.idcat     = C.idcat   AND 
                            B.idclient  = '$client' AND 
                            C.idlang    = '$lang'   AND 
                            C.visible   = '1'       AND 
                            B.parentid  = 'CMS_VALUE[9000]' 
                        ORDER 
                            BY A.idtree"; 

                      $db->query($sql); 

                      while ($db->next_record()) { 

                            /* Check for external redirects... */ 
                            $sql = "SELECT 
                                        a.external_redirect AS ext 
                                    FROM 
                                        ".$cfg["tab"]["art_lang"]." AS a, 
                                        ".$cfg["tab"]["cat_art"]." AS b, 
                                        ".$cfg["tab"]["cat"]." AS c 
                                    WHERE 
                                        b.idcat     = '".$db->f("idcat")."' AND 
                                        b.is_start  = '1' AND 
                                        c.idclient  = '".$client."' AND 
                                        c.idcat     = b.idcat AND 
                                        a.idart     = b.idart AND 
                                        a.idlang    = '".$lang."'"; 

                            $db2->query($sql); 
                            $db2->next_record(); 

                            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 

                            $navitems_mod2[$db->f("idcat")] = array("idcat"      => $db->f("idcat"), 
                                                                "name"      => $db->f("name"), 
                                                                "target"    => $target); 
                      } 

           } 
            
           return true; 
        } 

        $sql = "SELECT 
                    A.idcat, 
                    C.name 
                FROM 
                    ".$cfg["tab"]["cat_tree"]." AS A, 
                    ".$cfg["tab"]["cat"]." AS B, 
                    ".$cfg["tab"]["cat_lang"]." AS C 
                WHERE 
                    A.idcat     = B.idcat   AND 
                    B.idcat     = C.idcat   AND 
                    B.idclient  = '$client' AND 
                    C.idlang    = '$lang'   AND 
                    C.visible   = '1'       AND 
                    B.parentid  = '$parentid' 
                ORDER BY 
                    A.idtree"; 

        $db->query($sql); 

        while ($db->next_record()) { 

                /* Check for external redirects... */ 
                $sql = "SELECT 
                            a.external_redirect AS ext 
                        FROM 
                            ".$cfg["tab"]["art_lang"]." AS a, 
                            ".$cfg["tab"]["cat_art"]." AS b, 
                            ".$cfg["tab"]["cat"]." AS c 
                        WHERE 
                            b.idcat     = '".$db->f("idcat")."' AND 
                            b.is_start  = '1' AND 
                            c.idclient  = '".$client."' AND 
                            c.idcat     = b.idcat AND 
                            a.idart     = b.idart AND 
                            a.idlang    = '".$lang."'"; 

                $db2->query($sql); 
                $db2->next_record(); 

                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 
                
                $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"), 
                                                  "name"    => $db->f("name"), 
                                                  "target"  => $target); 
        } 

        $tmp_nav[$idcat]["sub"] = $navitems_mod2; 
        $navitems_mod2 = $tmp_nav; 

        /* Function call */ 
        nav_mod2($parentid); 

}  // end function 

$sql = "SELECT 
            A.idcat, 
            C.name 
        FROM 
            ".$cfg["tab"]["cat_tree"]." AS A, 
            ".$cfg["tab"]["cat"]." AS B, 
            ".$cfg["tab"]["cat_lang"]." AS C 
        WHERE 
            A.idcat     = B.idcat   AND 
            B.idcat     = C.idcat   AND 
            B.idclient  = '$client' AND 
            C.idlang    = '$lang'   AND 
            C.visible   = '1'       AND 
            B.parentid  = '$sel_idcat' 
        ORDER BY 
            A.idtree"; 

$db->query($sql); 

while ( $db->next_record() ) { 

        /* Check for external redirects... */ 
        $sql = "SELECT 
                    a.external_redirect AS ext 
                FROM 
                    ".$cfg["tab"]["art_lang"]." AS a, 
                    ".$cfg["tab"]["cat_art"]." AS b, 
                    ".$cfg["tab"]["cat"]." AS c 
                WHERE 
                    b.idcat     = '".$db->f("idcat")."' AND 
                    b.is_start  = '1' AND 
                    c.idclient  = '".$client."' AND 
                    c.idcat     = b.idcat AND 
                    a.idart     = b.idart AND 
                    a.idlang    = '".$lang."'"; 

        $db2->query($sql); 
        $db2->next_record(); 

        $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 

        $navitems_mod2[$db->f("idcat")] = array("idcat"  => $db->f("idcat"), 
                                           "name"   => $db->f("name"), 
                                           "target" => $target); 
} 

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

/* Start Output buffer */ 


/************************************************************/ 

echo '<div id="navcontainer"> 
<ul id="navlist">';/*liste erste ebene***********************************/ 

foreach ($navitems_mod2 as $key => $data) { 

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

echo '<li>';/*anfang listenpunkte erste ebene***********************/ 

        if ($idcat == $data['idcat']) { // template für aktiven menüpunkt 
   $tpl_mod2->generate('templates/nav1_active.html'); 
        } elseif ( is_array($data['sub']) ) { // template für geöffnete kategorien 
   $tpl_mod2->generate('templates/nav1_on.html'); 
        } else { // template für geschlossene nicht aktive kategorie 
   $tpl_mod2->generate('templates/nav1_off.html'); 
        } 


    if (count($data['sub'])>=1) { 
echo '<ul id="subnavlist">';/*anfang liste zweite ebene****************************/ 

        foreach ($data['sub'] as $key => $data) { 

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

echo '<li id="subactive">';/*anfang listenpunkte zweite ebene**********************/ 
            if ($idcat == $data['idcat']) { // template für aktiven menüpunkt 
           $tpl_mod2->generate('templates/nav2_active.html'); 
                } elseif ( is_array($data['sub']) ) { // template für geöffnete kategorien 
           $tpl_mod2->generate('templates/nav2_on.html'); 
                } else { // template für geschlossene nicht aktive kategorie 
           $tpl_mod2->generate('templates/nav2_off.html'); 
                } 

    if (count($data['sub'])>=1) { 
echo '<ul id="sub_subnavlist">';/*anfang liste dritte ebene*****************************/ 


                foreach ($data['sub'] as $key => $data) { 

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

echo '<li id="sub_subactive">';/*anfang listenpunkte dritte ebene***********************/ 

                   if ($idcat == $data['idcat']) { // template für aktiven menüpunkt 
                   $tpl_mod2->generate('templates/nav3_active.html'); 
                        } elseif ( is_array($data['sub']) ) { // template für geöffnete kategorien 
                   $tpl_mod2->generate('templates/nav3_on.html'); 
                        } else { // template für geschlossene nicht aktive kategorie 
                   $tpl_mod2->generate('templates/nav3_off.html'); 
                        } 

echo '</li>';/*ende listenpunkte dritte ebene************************/ 
                } // end foreach 
echo '</ul>';/*ende liste dritte ebene******************************/ 

            } // end if 
echo '</li>';/*ende listenpunkte zweite ebene***********************/ 
        } // end foreach 
echo '</ul>';/*ende liste zweite ebene*****************************/ 
    } // end if 

echo '</li>';/*ende listenpunkte erste ebene************************/ 
} // end foreach 

echo '</ul>';/*ende liste erste ebene*******************************************************/ 

/***********************************************************/ 
echo '</div>'; 

/* Output buffer-contents */ 
echo $html_mod2; 

?> 
<!--end Modul--> 
Gruß, Hulk
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Pädagogisch wertvoll

Beitrag von Halchteranerin »

Hulk hat geschrieben:hab es jetzt nochmal probiert - und geschafft.
Na also! Auch mal etwas ausprobieren, nicht gleich jammern. :wink:
Glueckwunsch, und danke auch dafuer, dass du den geaenderten Code zur Verfuegung gestellt hast, vielleicht erspart das jemandem anders Arbeit.
Gesperrt