Hallo,
bei mt taucht ein komischer Fehler auf. Wenn ich in eine Kategorie springe, über die Hauptnavi, wird alles richtig angezeigt. Gelange ich auf den Artikel über die Seitennavi, ist das Hauptnavi weg. Dabei ist mir aufgefallen, dass ein unterschiedlicher client im Link angesprungen wird - nur wo ist da der Wurm drin?
Link über Hauptnavi:
http://www.torzurwelt.de/menteroda/fron ... t=8&lang=6
Link über Seitennavi:
http://www.torzurwelt.de/menteroda/fron ... t=1&lang=6
wo kann man das wie´der richten?
schönen Abend noch !!
jacke
Navigationswunder
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Welches Modul benutzt du fuer die "Seitennavi"? Servicenavi? Woher kommt der Client mit der Nr. 1? Der muss wohl auch im System vorhanden sein, sonst wuerde ja nichts angezeigt werden.
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
Hallo,
ich benutze - keine Ahnung wo das her ist-:
Seitennavigation
um eine zusätzliche Navigation über Artikel zu ermöglichen
Ja, den Mandanten 1 gibt es auch - wird aber nicht benutzt.
Danke schon mal
ich benutze - keine Ahnung wo das her ist-:
Seitennavigation
um eine zusätzliche Navigation über Artikel zu ermöglichen
Code: Alles auswählen
::INPUT::
// selected category
$selected = "CMS_VALUE[0]";
$checked = "CMS_VALUE[4]";
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' ".
"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>
<tr>
<td>Überschrift anzeigen ?</td>
<td><input type=\"checkbox\" name=\"CMS_VAR[4]\" value=\"Y\"";
if($checked) echo " checked";
echo "></td>
</tr>
<tr>
<td>Hintergrundfarbe</td>
<td><input type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\"></td>
</tr>
<tr>
<td>Randfarbe</td>
<td><input type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\"></td>
</tr>
</table>";
::OUTPUT::
<?
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
$first_line = "CMS_VALUE[4]";
$catStart = "CMS_VALUE[0]";
if ($catStart != "") {
echo '<table cellpadding="0" cellspacing="0" border="0"><tr>';
if($first_line == "Y") {
echo '<td> <img src="images/leer.gif"> </td>';
}
$sql = "SELECT ART.idart, ARTLANG.title, CATLANG.idlang as lang, CAT.idclient FROM
".$cfg["tab"]["cat_art"]." AS ART, ".$cfg["tab"]["cat_lang"]."
AS CATLANG, ".$cfg["tab"]["art_lang"]." AS ARTLANG,
".$cfg["tab"]["cat"]." AS CAT
WHERE ART.idcat = '".$catStart."' AND ART.idcat = CATLANG.idcat
AND ARTLANG.idart = ART.idart AND CATLANG.idlang = ARTLANG.idlang
AND ARTLANG.online = '1'
GROUP BY ARTLANG.title ORDER BY ARTLANG.artsort";
$db->query($sql);
while ( $db->next_record() ) {
echo '<td height="21" class=".navigation" style="border: 1px; border-color: CMS_VALUE[6]; border-style: dashed; background-color: CMS_VALUE[5]; padding-left:7px; padding-right:7px;">
<a class="klein" href="front_content.php?idcat='.$catStart.'&idart='.$db->f("idart").'&client='.$db->f("idclient").'&lang='.$db->f("lang").'">'.$db->f("title").'</a></td>';
} // end while
echo '</tr></table>';
}
?>
Danke schon mal
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Ich kenne diese Navigation nicht, aber ist die evtl. falsch konfiguriert oder so? Eine andere Erklaerung habe ich leider nicht.
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
Dieses SQL-Statement ist Murx:
Es wird zwar die Tabelle con_cat als CAT eingebunden, jedoch in keinerlei Zusammenhang mit den anderen Tabellen gesetzt (es gibt nirgendwo ein CAT.idcat = <andere Tabelle>.idcat).
Daher erzeugt mySQL aus der Abfrage ein Kreuzprodukt aller möglicher Zeilen aus allen Tabellen.
Empfohlene Lösung: Code anderswo speichern (Backup) und dann ", CAT.idclient" und ", ".$cfg["tab"]["cat"]." AS CAT " aus der Abfrage entfernen:
Sofern Du nicht mehrere Mandanten im gleichen Verzeichnis einsetzt, kannst Du dann "&client='.$db->f("idclient").'" aus der Ausgabe weiter unten entfernen.
Wenn Du mehrere Mandanten im gleichen Verzeichnis hast (sehr ungewöhnlich) kannst Du das durch "&client='.$client.'" ersetzen. Generell benötigt man aber die $client-Angabe nicht, da sie sich aus dem Mandanten-Verzeichnis (Beispiel: cms) ergibt.
Gruß
HerrB
Code: Alles auswählen
$sql = "SELECT ART.idart, ARTLANG.title, CATLANG.idlang as lang, CAT.idclient FROM
".$cfg["tab"]["cat_art"]." AS ART, ".$cfg["tab"]["cat_lang"]."
AS CATLANG, ".$cfg["tab"]["art_lang"]." AS ARTLANG,
".$cfg["tab"]["cat"]." AS CAT
WHERE ART.idcat = '".$catStart."' AND ART.idcat = CATLANG.idcat
AND ARTLANG.idart = ART.idart AND CATLANG.idlang = ARTLANG.idlang
AND ARTLANG.online = '1'
GROUP BY ARTLANG.title ORDER BY ARTLANG.artsort";
Daher erzeugt mySQL aus der Abfrage ein Kreuzprodukt aller möglicher Zeilen aus allen Tabellen.
Empfohlene Lösung: Code anderswo speichern (Backup) und dann ", CAT.idclient" und ", ".$cfg["tab"]["cat"]." AS CAT " aus der Abfrage entfernen:
Code: Alles auswählen
$sql = "SELECT ART.idart, ARTLANG.title, CATLANG.idlang as lang FROM
".$cfg["tab"]["cat_art"]." AS ART, ".$cfg["tab"]["cat_lang"]."
AS CATLANG, ".$cfg["tab"]["art_lang"]." AS ARTLANG
WHERE ART.idcat = '".$catStart."' AND ART.idcat = CATLANG.idcat
AND ARTLANG.idart = ART.idart AND CATLANG.idlang = ARTLANG.idlang
AND ARTLANG.online = '1'
GROUP BY ARTLANG.title ORDER BY ARTLANG.artsort";
Wenn Du mehrere Mandanten im gleichen Verzeichnis hast (sehr ungewöhnlich) kannst Du das durch "&client='.$client.'" ersetzen. Generell benötigt man aber die $client-Angabe nicht, da sie sich aus dem Mandanten-Verzeichnis (Beispiel: cms) ergibt.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Der angegebene Code ist IMHO korrekt, da ist dann wohl was beim Austauschen schief gelaufen... das &client='.$db->f("idclient") muss man natürlich immer entfernen.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net