Seite 1 von 1
2. Hauptnavigation - Problem mit der 2. Ebene
Verfasst: Mi 3. Aug 2005, 11:11
von sclubHD
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
Re: 2. Hauptnavigation - Problem mit der 2. Ebene
Verfasst: Do 4. Aug 2005, 12:37
von emergence
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..
Verfasst: Do 4. Aug 2005, 13:09
von sclubHD
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
Verfasst: Do 4. Aug 2005, 13:11
von emergence
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...

Verfasst: Do 4. Aug 2005, 13:16
von emergence
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 !!
Verfasst: Do 4. Aug 2005, 13:16
von sclubHD
ok, werds mir für nachfolgende beiträge merken

Verfasst: Mi 1. Mär 2006, 14:38
von sclubHD
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
Verfasst: Mi 1. Mär 2006, 15:41
von simu
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...
Verfasst: Mi 1. Mär 2006, 16:13
von sclubHD
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
Verfasst: Do 2. Mär 2006, 12:06
von sclubHD
Es klappt
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