Wenn ich in Content --> Kategorie bei einem bereits bestehenden Baum eine weitere Kategorie anfüge, also gewissermassen einen neuen Navigationspunkt in meinem Navigationsmenue erstelle, dann ist dieser direkt auf der Website sichtbar, selbst wenn ich der neuen Kategorie kein Template zuweise, die neue Kategorie auf "offline" steht und für die neue Kategorie weder Start- noch sonstige Artikel erstellt wurden.
Wie kann ich in Ruhe mein Navigationsmenue ändern/erweitern, ohne dass sich das Menue direkt sichtbar auf der Website ändert?
vielen Dank
jens
Wie Kategorie unsichtbar machen?
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
Hi!
Das wird wohl daran liegen, dass die SQL-Abfrage, die die Kategorien für Deine Navigation ermittelt, das Attribut online nicht beachtet und einfach ausgibt, nicht nur die online=1!
Leider hab ich die Standardnavi nicht mehr in meinem Contenido. Kannst Du mir mal den Output-Code Deiner Navi posten?
Black Widow
Das wird wohl daran liegen, dass die SQL-Abfrage, die die Kategorien für Deine Navigation ermittelt, das Attribut online nicht beachtet und einfach ausgibt, nicht nur die online=1!
Leider hab ich die Standardnavi nicht mehr in meinem Contenido. Kannst Du mir mal den Output-Code Deiner Navi posten?
Black Widow
Hi,
also der
INPUT
// 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>";
-----------------------------------------------------------------------------------
und der
OUTPUT
<?
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
$catStart = "CMS_VALUE[0]";
if ($catStart != "") {
$catIds = conDeeperCategoriesArray($catStart);
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>';
if ( is_array($catIds) ) {
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";
$db->query($sql);
while ( $db->next_record() ) {
echo '<td width="90">';
if ($db->f("idcat") == $idcat){
echo "<a class=\"hilfson\" ";
}else{
echo "<a class=\"hilfsoff\" ";
}
echo ' href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a></td>';
} // end while
} // if
} // end foreach
} // end if (is_array)
echo '</tr></table>';
}
?>
-----------------------------------------------------------------------------------
Ist eine leicht abgewandelte Service-Navi, die den gerade aktiven Link hervorhebt.
Mit dem online=1 habe ich irgendwo hier im Forum schon mal gelesen, ich findes aber nicht mehr.
danke für deine hilfe!
jens
also der
INPUT
// 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>";
-----------------------------------------------------------------------------------
und der
OUTPUT
<?
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
$catStart = "CMS_VALUE[0]";
if ($catStart != "") {
$catIds = conDeeperCategoriesArray($catStart);
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>';
if ( is_array($catIds) ) {
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";
$db->query($sql);
while ( $db->next_record() ) {
echo '<td width="90">';
if ($db->f("idcat") == $idcat){
echo "<a class=\"hilfson\" ";
}else{
echo "<a class=\"hilfsoff\" ";
}
echo ' href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a></td>';
} // end while
} // if
} // end foreach
} // end if (is_array)
echo '</tr></table>';
}
?>
-----------------------------------------------------------------------------------
Ist eine leicht abgewandelte Service-Navi, die den gerade aktiven Link hervorhebt.
Mit dem online=1 habe ich irgendwo hier im Forum schon mal gelesen, ich findes aber nicht mehr.
danke für deine hilfe!
jens
Hallo,
erweitere mal die SQL-Abfrage im Output um
Gruß
Andreas
erweitere mal die SQL-Abfrage im Output um
Code: Alles auswählen
AND CATLANG.visible='1'
Andreas
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten: