Ich habe gerade ein ausgefallenenes Design umzusetzen welches als Buch ausgelegt ist. Dabei gibt es oberhalb des Buches die Navigation, diese ist bereits fertig.
Auf den unteren Seiten des Buches ist ein kleiner Pfeil mit welchem man sozusagen umblättern kann. Wie kann ich es nun am besten umsetzen, dass dieser Link immer automatisch auf die nächste Seite in der Navigation (inklusive Unternavigation) verlinkt?
Navigation zum Blättern von einer Seite zur nächsten
so ne navigation hab ich hier im forum noch nicht gesehen...
du bräuchtest einen array der alle teile eines baumes beinhaltet... mit dem könnte man das dann machen... ich hab nur leider keine zeit so was zu schreiben...
du bräuchtest einen array der alle teile eines baumes beinhaltet... mit dem könnte man das dann machen... ich hab nur leider keine zeit so was zu schreiben...
*** make your own tools (wishlist :: thx)
Hallo für alle, die mal so eine Navigation brauchen, ich habe die Service-Navigation als Grundlage verwendet:
Eingabe:
Ausgabe:
Eingabe:
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)
}
?>
-
- Beiträge: 11
- Registriert: Fr 29. Apr 2005, 17:04
- Kontaktdaten:
Hallo smac,
auch von mir ein dickes DANKE... dat dingen wird schon eingesetzt
Ich habe allerdings mit meinen bescheidenen PHP-Kentnissen folgende Modifikation gemacht.
[edit] Habe "" bei den Links wieder hinzugefügt (hatte ich versehentlich gelöscht), da es sonst zu einem Validation-Error kommt (->...php? [/edit]
auch von mir ein dickes DANKE... dat dingen wird schon eingesetzt

Ich habe allerdings mit meinen bescheidenen PHP-Kentnissen folgende Modifikation gemacht.
- Generierung einer "Table" mit CSS-Ausgabe (siehe echo Ausgaben)
Setzen nur eines "weiter" am Kategorie-Anfang
Setzen nur eines "zurück" am Kategorie-Ende
Dazwischen wie gehabt "zurück weiter"
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);
echo '<table class="TableBackNext"><tr>';
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 "<td class=\"TDBackNext\"><a href=\"front_content.php?idcat=$seite[$i]\">weiter</a></td>";
}
elseif ($seite[$i]==$idcat && $seite[$i-1]>0){
echo "<td class=\"TDBackNext\"><a href=\"front_content.php?idcat={$seite[$i-1]}\">zurück</a></td>";
}
$i++;
} // end while
} // if
} // end foreach
} // end if (is_array)
echo "</tr></table>";
}
?>