Gibt es ein Navigationsmodul in dem
- Hauptnavigation nicht angezaigt wird
- 1. Ebene nur angezeigt wird (Formatierung 1)
- 2. Ebene zum auswählen ist? (Formatierung 2)
Navigation nur ab 2. Ebener
Re: Navigation nur ab 2. Ebener
Jepp...
Wenn ich Dich richtig verstanden hab geht das sehr einfach mit der Navigation:Universell
Wenn ich Dich richtig verstanden hab geht das sehr einfach mit der Navigation:Universell
Nützliche Contenido Infos gibts hier: Contenido Wiki
Re: Navigation nur ab 2. Ebener
War ein sehr guter Tipp mit der Navigation Universell, ich hab nur ein Problem:
Auf der Startseite klappt es wunderbar und sieht aus wie es soll, aber auf tiefenen Leveln sehe ich keine Menüpunkte mehr obwohl ich immer das gleiche Template etc. verwende.
Auf der Startseite klappt es wunderbar und sieht aus wie es soll, aber auf tiefenen Leveln sehe ich keine Menüpunkte mehr obwohl ich immer das gleiche Template etc. verwende.
Das Leben könnte so schön sein....
Re: Navigation nur ab 2. Ebener
Das Modul lässt sich mannigfaltig konfigurieren...
Zeig uns doch mal Deinen Code...
Zeig uns doch mal Deinen Code...
Nützliche Contenido Infos gibts hier: Contenido Wiki
Re: Navigation nur ab 2. Ebene
Hier ist er:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Navigation 1.2
* Author : Jan Lengowski
* Copyright : Contenido - four for business
* Created : 15-05-2003
* Modified : 04-2005, Christian Meilinger
************************************************/
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;
/**
* 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]";
/**
* 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 '<ul id="Navigation">';
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');
} 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');
} else {
$tpl->generate('templates/navsecond_off.html');
}
if (is_array($data['sub'])) {
// echo '<ul 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 '<ul 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 '</ul>';
} // end if
} // end foreach
// echo '</ul>';
} // end if
} // end foreach
} // end if
} // end foreach
//echo '</ul>';
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Das Leben könnte so schön sein....
Re: Navigation nur ab 2. Ebener
Kann ich das Modul so umstellen, dass es immer von der Hauptnavigation aus anzeigt, also sich quasi das Menu nicht verändert?
Mein PHP ist leider nicht das Beste, daher wäre es super, wenn mir jemand helfen könnte.
Danke im Voraus
Eggy
Mein PHP ist leider nicht das Beste, daher wäre es super, wenn mir jemand helfen könnte.
Danke im Voraus
Eggy
Das Leben könnte so schön sein....