Navigation zum Blättern von einer Seite zur nächsten - Hilfe
Verfasst: Do 16. Jun 2005, 11:20
Hi,
ich verwende eine eher seltene Art der Navigation, die hier mal von smac gepostet wurde. Ist eigentlich recht überschaubar aber für mich non coder nicht ganz so schlüssig.
erstmal das Teil:
imput:
Output:
Ich möchte nun das das Ganze auf eine Kategorie bzw. Ebene beschränkt ist.
Bsp.
1. Ebene (Home - Leistungen - Kontakt)
2. Ebene bei Leistungen ( Hardware - Software - Design)
3. Ebene bei Hardware ( CPU - Grafikkarte - Soundkarte)
Und ich möchte dann halt innerhalb der Kategorie Hardware durch die Unterkategorien CPU, Grafikkarte, Soundkarte blättern können.
So wie das Modul jetzt ist blättert er wenn ich mich bei Hardware befinde bei allen durch also auch Software und Design, er geht alle jede Ebene nach ein ander ab...
Kann mir da einer Helfen.
Liegt es nur an der SQL Abfrage?
Gruß Pneu
ich verwende eine eher seltene Art der Navigation, die hier mal von smac gepostet wurde. Ist eigentlich recht überschaubar aber für mich non coder nicht ganz so schlüssig.
erstmal das Teil:
imput:
Code: Alles auswählen
// 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>";
Code: Alles auswählen
<?php
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
$catStart = "CMS_VALUE[0]";
if ($catStart != "") {
$catIds = conDeeperCategoriesArray($catStart);
if ( is_array($catIds) ) {
$i=0;
foreach($catIds as $key=>$val) {
// Ersten Eintrag ueberspringen, weil das der Menupunkt selbst ist
// und nicht angezeigt werden soll.
if ($key != 0) {
$sql = "SELECT CAT.idcat AS idcat, name FROM ".
$cfg["tab"]["cat"]." AS CAT, ".
$cfg["tab"]["cat_lang"]." AS CATLANG
WHERE CAT.idcat = ".$val."
AND CAT.idcat = CATLANG.idcat
AND CATLANG.idlang = '$lang'
AND CATLANG.visible = '1'";
$db->query($sql);
while ( $db->next_record() ) {
$seite[$i]=$db->f("idcat");
if ($seite[$i-1]==$idcat){
echo "<a href='front_content.php?idcat=".$seite[$i-2]."'>zurück</a>";
echo "<a href='front_content.php?idcat=".$seite[$i]."'>weiter</a>";
}
$i++;
} // end while
} // if
} // end foreach
} // end if (is_array)
}
?>
Bsp.
1. Ebene (Home - Leistungen - Kontakt)
2. Ebene bei Leistungen ( Hardware - Software - Design)
3. Ebene bei Hardware ( CPU - Grafikkarte - Soundkarte)
Und ich möchte dann halt innerhalb der Kategorie Hardware durch die Unterkategorien CPU, Grafikkarte, Soundkarte blättern können.
So wie das Modul jetzt ist blättert er wenn ich mich bei Hardware befinde bei allen durch also auch Software und Design, er geht alle jede Ebene nach ein ander ab...
Kann mir da einer Helfen.
Liegt es nur an der SQL Abfrage?
Gruß Pneu