kann mir den jemand umschreiben auf eine ganz Normale Navi wie in der Standard installation?
-1-
-1.1-
-1.2-
-1.3-
-2-
-2.1-
-2.2-
-2.3-
so sieht die Navi ja da aus.
mir kommt es da auf die rechte der frontend user an
Code: Alles auswählen
nav_Top Input:
Code:
/**
* 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
nav_Top Output:
Code:
<?php
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;
}
/**
* 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, $perm;
$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,
C.public
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';
if ($db->f("public") == 1 || $perm->have_perm_area_action_item("str","front_allow", $db->f("idcat")) || $perm->have_perm())
{
$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);
$fullwrap = '<table height="18" border="0" cellspacing="0" cellpadding="0">
<tr>
%s
</tr>
</table>';
$wrap = '<td class="cw" nowrap="nowrap" onMouseOut="Switch1(this);" onMouseOver="Switch1(this);"><a class="topnav1" href="index-a-%s.html">%s</a></td>
';
$wrap2 = '<td class="c4" nowrap="nowrap"><a class="topnav1" href="index-a-%s.html">%s</a></td>
';
$allitems = "";
$root_idcat = capi_cat_getlevelnode($idcat, 2);
foreach ($navitems as $item)
{
if ( $root_idcat == $item["idcat"])
{
$allitems .= sprintf($wrap2, $item["idcat"], str_replace(" ", " ", $item["name"]));
} else {
$allitems .= sprintf($wrap, $item["idcat"], str_replace(" ", " ", $item["name"]));
}
}
printf($fullwrap, $allitems);
?>
nav_Left Input:
Code:
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td>
<select name=\"CMS_VAR[0]\">";
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>";
nav_Left output:
Code:
<?php
global $cfgClient;
/***********************************************
* 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;
}
global $cfg;
function isInCache2 ($filename)
{
$cachetime = 30;
if (!file_exists($filename))
{
return false;
}
$mod = filemtime($filename);
if (($mod + 60*$cachetime)< time())
{
return false;
}
return true;
}
/**
* 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 catIsChildOf2($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;
}
/**
* Array storing alle the
* navigation data
*/
$navitems = array();
$root_idcat = capi_cat_getlevelnode($idcat, 2);
/* Create Navigation Array */
if ($auth->auth["uid"] != "nobody")
{
$sql = "SELECT A.idcat, B.name FROM ".$cfg["tab"]["cat"]." AS A, ".$cfg["tab"]["cat_lang"]." AS B, ".$cfg["tab"]["cat_tree"]." AS C WHERE parentid = '$root_idcat'
AND B.visible = '1' AND B.idcat = A.idcat AND B.idlang = '$lang' AND B.idcat = C.idcat AND A.idclient = '$client' ORDER BY C.idtree ASC";
} else {
$sql = "SELECT A.idcat, B.name FROM ".$cfg["tab"]["cat"]." AS A, ".$cfg["tab"]["cat_lang"]." AS B, ".$cfg["tab"]["cat_tree"]." AS C WHERE parentid = '$root_idcat'
AND B.visible = '1' AND B.public='1' AND B.idcat = A.idcat AND B.idlang = '$lang' AND B.idcat = C.idcat AND A.idclient = '$client' ORDER BY C.idtree ASC";
}
$db->query($sql);
$db2 = new DB_Contenido;
$db3 = new DB_Contenido;
while ($db->next_record())
{
$mainnavi[$db->f("idcat")]["name"] = $db->f("name");
$mainidcat = $db->f("idcat");
if ($auth->auth["uid"] != "nobody")
{
$sql2 = "SELECT A.idcat, B.name FROM ".$cfg["tab"]["cat"]." AS A, ".$cfg["tab"]["cat_lang"]." AS B WHERE parentid = '$mainidcat'
AND B.visible = '1' AND B.idcat = A.idcat AND B.idlang = '$lang' AND A.idclient = '$client' ORDER BY B.name ASC";
} else {
$sql2 = "SELECT A.idcat, B.name FROM ".$cfg["tab"]["cat"]." AS A, ".$cfg["tab"]["cat_lang"]." AS B WHERE parentid = '$mainidcat'
AND B.visible = '1' AND B.public='1' AND B.idcat = A.idcat AND B.idlang = '$lang' AND A.idclient = '$client' ORDER BY B.name ASC";
}
$db2->query($sql2);
while ($db2->next_record())
{
$subnavs[$db2->f("idcat")]["name"] = $db2->f("name");
}
$mainnavi[$db->f("idcat")]["subnav"] = $subnavs;
unset($subnavs);
}
$wrap1 = '<tr><td class="ln1" onmouseover="Switch2(this);" onmouseout="Switch2(this);"><a class="topnav1" href="index-a-%s.html">%s</a>
</td>
</tr>';
$wrap1a = '<tr><td class="ln1s"><a class="topnav1" href="index-a-%s.html">%s</a>
</td>
</tr>';
$wrap2 = '<tr><td class="ln2" onmouseover="Switch3(this);" onmouseout="Switch3(this);"><a class="topnav1" href="index-a-%s.html">%s</a>
</td>
</tr>';
$wrap2a = '<tr><td class="ln2s"><a class="topnav1" href="index-a-%s.html">%s</a>
</td>
</tr>';
$ewrap = '<tr><td style="border: 0px; border-top: 1px; border-color: white; border-style: solid;"><img src="images/base/empty.gif" alt="" height="20" width="1"></td></tr>';
$allitems = "";
foreach ($mainnavi as $key => $value)
{
if ($key == $idcat)
{
$allitems .= sprintf($wrap1a, $key, $value["name"]);
} else {
$allitems .= sprintf($wrap1, $key, $value["name"]);
}
if (is_array($value["subnav"]))
{
foreach ($value["subnav"] as $key => $value)
{
if ($key == $idcat)
{
$allitems .= sprintf($wrap2a, $key, $value["name"]);
} else {
$allitems .= sprintf($wrap2, $key, $value["name"]);
}
}
}
$allitems .= $ewrap;
}
?>
<img src="images/base/empty.gif" alt="" width="1" height="20">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php
echo $allitems;
?>
</table>