2. Hauptnavigation - Problem mit der 2. Ebene

Gesperrt
sclubHD
Beiträge: 12
Registriert: Mo 27. Jun 2005, 14:20
Kontaktdaten:

2. Hauptnavigation - Problem mit der 2. Ebene

Beitrag von sclubHD » Mi 3. Aug 2005, 11:11

hiho,

mal wieder ein Problem mit der 2. Ebene:

Das Ganze sieht momentan so aus:

Rubrik 1
1.1
1.2
1.3
Rubrik 2
2.1
2.2
2.3
2.4
Rubrik 3

Klicke ich nun auf Rubrik 1, danach auf 1.1 kann ich alle nachfolgenden Links (1.2, 1.3, Rubrik 2, etc..) nicht anklicken.

An was kann das liegen?
Als Modul hab ich das das Hauptnavigationsmodul wie im Forum beschrieben geändert.

//Edit:// Hatte ich zB 1.2 schonmal angeklickt und klicke dann auf 1.1, ist 1.2 auch anklickbar. Der Rest jedoch immernoch nicht (auch wenn schonmal angeklickt)//


Gruss,
Tobias

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

Re: 2. Hauptnavigation - Problem mit der 2. Ebene

Beitrag von emergence » Do 4. Aug 2005, 12:37

erstens immer die url zum ansehen mit angeben
sclubHD hat geschrieben:Klicke ich nun auf Rubrik 1, danach auf 1.1 kann ich alle nachfolgenden Links (1.2, 1.3, Rubrik 2, etc..) nicht anklicken.

An was kann das liegen?
Als Modul hab ich das das Hauptnavigationsmodul wie im Forum beschrieben geändert.
zweitens wenn du auf andere threads verweist gib bitte den link zum thema mit an...

so hat man leider keine ahnung was du wo wie geändert hast..
*** make your own tools (wishlist :: thx)

sclubHD
Beiträge: 12
Registriert: Mo 27. Jun 2005, 14:20
Kontaktdaten:

Beitrag von sclubHD » Do 4. Aug 2005, 13:09

die url is doch in meinem profil hinterlegt? ;)

ich poste einfach mal den code, sonst such ich mich wieder dämlich, bis ich den originalthread gefunden hab

INPUT

Code: Alles auswählen

/** 
* Navigation 
* 
* Modulnummer: 1000, Präfix: _mod1 
* 
* Zum Verwenden mehrerer Hauptnavigationselemente auf 
* einer Seite muss mittels Suchen und Ersetzen die 
* Modulnummer "CMS_VAR[1000]" mit z.B. 2000 ersetzt werden 
* 
* 
* INPUT 
* 
* @autor Jan Lengowski <Jan.Lengowski@4fb.de> 
* @copyright four for business AG 2003 
*/ 

?> 
<table cellspacing="0" cellpadding="0" cellpadding="0"> 
    <tr> 
        <td class="text_medium" style="padding: 10px;">Baum wählen:</td> 
        <td style="padding: 10px;"> 
            <select name="CMS_VAR[2000]"> 
            <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[2000]" == $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 
OUTPUT

Code: Alles auswählen

<?php 

/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulnummer: 1000, Präfix: _mod1 
* 
* Zum Verwenden mehrerer Hauptnavigationselemente auf 
* einer Seite muss mittels Suchen und Ersetzen die 
* Modulnummer "[1000]" mit z.B. 2000 ersetzt werden und 
* der Präfix _mod1 muss durch z.B. _mod2 ersetzt werden. 
* 
* 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 
 */ 
if (!function_exists("catischildof_mod2")) 
{ 
    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[2000]") ) { 
    $sel_idcat = $idcat; 
} else { 
    $sel_idcat = "CMS_VALUE[2000]"; 
} 

/* 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 
 */ 

if (!function_exists("nav_mod2")) 
{ 
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[2000]" ){ 

                $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[2000]' 
                        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 
} // check if exist 

$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 */ 
ob_start(); 

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

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

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


    if ($idcat == $data['idcat'] || is_array($data['sub'])) { 
        $tpl_mod2->generate('templates/navfirst_on.html'); 
    } else { 
        $tpl_mod2->generate('templates/navfirst_off.html'); 
    } 

    if (is_array($data['sub'])) { 

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

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

            if ($idcat == $data['idcat'] || is_array($data['sub'])) { 
                $tpl_mod2->generate('templates/navsecond_on.html'); 
            } else { 
                $tpl_mod2->generate('templates/navsecond_off.html'); 
            } 

            if (is_array($data['sub'])) { 

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

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

                    if ($idcat == $data['idcat']) { 
                        $tpl_mod2->generate('templates/navthird_on.html'); 
                    } else { 
                        $tpl_mod2->generate('templates/navthird_off.html'); 
                    } 

                } // end foreach 

            } // end if 

        } // end foreach 

    } // end if 

} // end foreach 

echo '</table>'; 

/* Read out buffer */ 
$html = ob_get_contents(); 

/* Clean buffer */ 
ob_end_clean(); 

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


?>
Gruss,
Tobias

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

Beitrag von emergence » Do 4. Aug 2005, 13:11

sclubHD hat geschrieben:die url is doch in meinem profil hinterlegt?
sorry auf die idee komme ich sogut wie nie da nachzusehen...
auf der anderen seite meine url ist zwar auch im profil definiert, aber dort wird sich nie eine contenido seite finden... ;-)
*** make your own tools (wishlist :: thx)

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

Beitrag von emergence » Do 4. Aug 2005, 13:16

dein modul ist korrekt...

ähm
deine links sind nicht zufälliger weise von einem durchsichtigen layer überlagert ? dann läßt sich das darunterliegende nicht anklicken !!
*** make your own tools (wishlist :: thx)

sclubHD
Beiträge: 12
Registriert: Mo 27. Jun 2005, 14:20
Kontaktdaten:

Beitrag von sclubHD » Do 4. Aug 2005, 13:16

ok, werds mir für nachfolgende beiträge merken :)

sclubHD
Beiträge: 12
Registriert: Mo 27. Jun 2005, 14:20
Kontaktdaten:

Beitrag von sclubHD » Mi 1. Mär 2006, 14:38

emergence hat geschrieben:dein modul ist korrekt...

ähm
deine links sind nicht zufälliger weise von einem durchsichtigen layer überlagert ? dann läßt sich das darunterliegende nicht anklicken !!
hiho, aufgrund anderer, wichtigerer aufgaben verschob sich die umsetzung der seite um monate. nun steh ich wieder vor dem problem.

es liegt definitiv am iframe, kein durchsichtiger layer...
wie komme ich drauf? dachte zuerst, die navi will nich so wie ich *g*
also hab ich die navi durch normales html erstellt...
und siehe da, sobald man nen link anklickt, der auf einen iframe verweist, klappen die links drunter nichtmehr, die auf der höhe des iframe liegen.
rausgefunden hab ichs durch höher setzen der links...

http://s-club-heidelberg.de/contenido/c ... p?idcat=42

einfach mal auf Kinonews klicken, dann funzt PC-News nicht mehr. Verschiebe ich diese "Navi" nach unten funktionieren schon die Links in der Rubrik Musik nciht mehr.


Im iframe-Modul finde ich eine Stelle in der width mit 100% beschrieben ist; eine änderung hier bringt jedoch gar nix :/

ebenso haben nur iframe-"seiten" einen horizontalen scorllbalken...


weiss jemand rat, was man hier ändern muss?

LG,
Tobias

simu
Beiträge: 48
Registriert: Di 4. Okt 2005, 08:44
Wohnort: Schweiz
Kontaktdaten:

Beitrag von simu » Mi 1. Mär 2006, 15:41

das Problem liegt in diesem Bereich des codes:

Code: Alles auswählen

<table width="800" height="460" cellpadding="0" cellspacing="0" border="0"><tr width="800" height="460"><td width="800" height="460" valign="top"><iframe src="http://www.sclub.xxlcontent.de/heidelberg/filmkalender/" width="460" height="800" frameborder="0"><p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p></iframe></td></tr></table>
und zwar setzt du die Breite der Tabelle auf 800px, diese widerum macht das div in welchem sie sich (content-text) befindet ebenfalls 800px breit, diese überlappt dann deine rechte Navigation.

Lösung:
die Breite der Tabelle anpassen, oder noch besser, diese entfernen, da sie dort sowieso absolut keinen Sinn macht...

sclubHD
Beiträge: 12
Registriert: Mo 27. Jun 2005, 14:20
Kontaktdaten:

Beitrag von sclubHD » Mi 1. Mär 2006, 16:13

hiho,

netter Denkansatz. Die Tabelle erstell(te) nicht ich, sondern das iframe-Modul.
Ich erinnere mich jedoch, dass die Werte height & width im code vertauscht waren. Möglich, dass ich beim Tausch einen Wert vergessen habe. Das werd ich mal prüfen.

Erkannt hab ichs, da die Werte die du mir aufgezeigt hast einmal in der brite und einmal in der höhe auftauchen...


Vorerst mal DANKE :)

Tobias

sclubHD
Beiträge: 12
Registriert: Mo 27. Jun 2005, 14:20
Kontaktdaten:

Beitrag von sclubHD » Do 2. Mär 2006, 12:06

Es klappt :P

Sollte jemand mal das gleiche Prob haben, hier der geänderte Output des Moduls:

Code: Alles auswählen

// erzeuge IFrame Ausgabecode 
      echo '<table width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" cellpadding="0" cellspacing="0" border="0">'; 
      echo '<tr width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'"><td width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" valign="top">'; 
      echo '<iframe src="'.$moddir.$sky_selected_file.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">'; 
      echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>'; 
      echo '</iframe>'; 
      echo '</td></tr></table>'; 
   } 
   else 
   { 
      // using HTTP Input 
      echo '<table width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" cellpadding="0" cellspacing="0"  border="0">'; 
      echo '<tr width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'"><td width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" valign="top">'; 
      echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">'; 
      echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>'; 
      echo '</iframe>'; 
      echo '</td></tr></table>'; 
   } 
    
} 
else 
{ 
   // using HTTP Input 
   echo '<table width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" cellpadding="0" cellspacing="0" border="0">'; 
   echo '<tr width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'"><td width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" valign="top">'; 
   echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">'; 
   echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>'; 
   echo '</iframe>'; 
   echo '</td></tr></table>'; 
}
Wie gesagt, wurde height & width getauscht


LG,
Tobias

Gesperrt