ich nutze die Dynamische Hauptnavigation.
Mein Problem ist nun das ich diese erst ab Ebene1 und nicht ab Ebene0 anzeigen will. Also im Prinzip wie die Splitted Navigation vom Kummer nur mit den Unterebenen mit dabei.
Beispiel wie es jetzt ist:
-Über Uns
--Laden
---Kontakt
-Links
--Gastronomie
--Büchereien
---Baden-Würtemberg
---Rheinland Pfalz
-Kontakt
-Impressum
Was ich brauche ist aber z.B. für Links:
--Gastronomie
--Büchereien
---Baden-Würtemberg
---Rheinland Pfalz
Also im Prinzip die Splitted Kummer Navigation ABER mir den Unterebenen.
Wäre sehr dankbar für Hilfe da ich keine Ahnung habe wies geht!

INPUT:
Code: Alles auswählen
?>
<table cellspacing="0" cellpadding="10" border="0">
<tr>
<td class="text">Select Tree:</td>
<td>
<select name="CMS_VAR[0]">
<option value="0">-- NONE --</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>
<tr>
<td class="text">Maximum Numbers of Navigation Sub Levels:</td>
<td>
<select name="CMS_VAR[1]">
<?php
if ( "CMS_VALUE[1]" == "1" ) {
echo '<option selected="selected" value="1">1 (Dynamic Menu)</option>';
} else {
echo '<option value="1">1 (Dynamic Menu)</option>';
}
if ( "CMS_VALUE[1]" == "2" ) {
echo '<option selected="selected" value="2">2</option>';
} else {
echo '<option value="2">2</option>';
}
if ( "CMS_VALUE[1]" == "3" ) {
echo '<option selected="selected" value="3">3</option>';
} else {
echo '<option value="3">3</option>';
}
if ( "CMS_VALUE[1]" == "4" ) {
echo '<option selected="selected" value="4">4 (Static Menu)</option>';
} else {
echo '<option value="4">4 (Static Menu)</option>';
}
?>
</select>
</td>
</tr>
</table>
<?php
Code: Alles auswählen
<?php
if ( !is_object($db2) ) {
$db2 = new DB_Contenido;
}
/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');
/* Template Instance */
$tpl = new Template;
/* used by Modul "AktuelleSeite" */
$aktuelleSeite_ = '';
/**
* Array storing alle the
* navigation data
*/
$navitems = array();
/* Parrentid at static navtree to which dynamic navtree has to be connected */
$navitemsparentid = 0;
// $navlevel = "CMS_VALUE[1]";
$navlevel = "1";
/**
* 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]';
}
/* Get IDCat from first child for submenue */
$sql = "SELECT idcat FROM ".$cfg["tab"]["cat"]." WHERE parentid = '$sel_idcat'";
$db->query($sql);
$db->next_record();
if ($db->f("idcat") != 0) {
$sel_idcat = $db->f("idcat");
}
/**
* Recursive function for creating
* the dynamic part of the navigation array
* @param Int $idcat Category id
*/
function nav($idcat) {
global $navitems, $navitemsparentid, $navlevel, $client, $lang, $cfg;
$db = new DB_Contenido;
$db2 = new DB_Contenido;
$navi_temp = array();
/* If no parent or level below limit, end function */
$sql = "SELECT
B.parentid
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B
WHERE
A.idcat = B.idcat AND
B.idcat = '$idcat' AND
A.level > '$navlevel'";
$db->query($sql);
$db->next_record();
$parentid = $db->f("parentid");
if ( $parentid == 0 ) {
if ($navitems != array()) {
$navitemsparentid = $idcat;
} else {
$navitemsparentid = 0;
}
return true;
}
/* Navigationsitems der Brüder sammeln */
$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' AND
A.level > '$navlevel'
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';
$navi_temp[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}
$navi_temp[$idcat]["sub"] = $navitems;
$navitems = $navi_temp;
/* Function call */
nav($parentid);
return true;
} // end function
/* Create dynamic part of Navigation Array */
nav($sel_idcat);
/**
* Recursive function for creating
* the fixed part of the navigation array
* @param Int $idcat Category id
*/
function navfixed($idcat) {
global $navlevel, $navitems, $navitemsparentid, $client, $lang, $cfg;
$db = new DB_Contenido;
$db2 = new DB_Contenido;
$navarray = array();
/* Collect navigationsitems of children */
$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 = '$idcat' AND
A.level <= '$navlevel'
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';
$navarray[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target,
"sub" => array());
$navarray[$db->f("idcat")]["sub"] = navfixed($db->f("idcat"));
/* Connect dynamic part of nav with static part */
if ($db->f("idcat") == $navitemsparentid) {
$navarray[$db->f("idcat")]["sub"] = $navitems;
}
}
return $navarray;
} // end function
/* Create Navigation Array */
$navitems = navfixed('CMS_VALUE[0]');
/* Start Output buffer */
ob_start();
echo '<span id="Navigation">';
$aktuelleSeite_ .= '<div class="wobinich">';
foreach ($navitems as $key => $data) {
/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'ID', '_'.$data['idcat']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat']) {
$tpl->generate('templates/navfirst_on.html');
$aktuelleSeite_ .= ' > <a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" class="wobinich">'.$data['name'].'</a>';
} else {
$tpl->generate('templates/navfirst_off.html');
}
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
/* 2. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->set('d', 'ID', '_'.$data['idcat']);
$tpl->next();
if ($idcat == $data['idcat']) {
$tpl->generate('templates/navsecond_on.html');
$aktuelleSeite_ .= ' > <a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" class="wobinich">'.$data['name'].'</a>';
} else {
$tpl->generate('templates/navsecond_off.html');
}
if (is_array($data['sub'])) {
echo '<span id="Navigation">';
foreach ($data['sub'] as $key => $data) {
/* 3. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat']) {
$tpl->generate('templates/navthird_on.html');
} else {
$tpl->generate('templates/navthird_off.html');
}
if (is_array($data['sub'])) {
echo '<span id="Navigation">';
foreach ($data['sub'] as $key => $data) {
/* 4. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();
if ($idcat == $data['idcat']) {
$tpl->generate('templates/navfourth_on.html');
} else {
$tpl->generate('templates/navfourth_off.html');
}
} // end foreach
echo '</span>';
} // end if
} // end foreach
echo '</span>';
} // end if
} // end foreach
} // end if
} // end foreach
$aktuelleSeite_ .= '</div>';
echo '</span>';
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>