Hallo zusammen!
An dieser Stelle allen Mitwirkenden ein großes Lob und Dankeschön von mir für dieses tolle CMS - ihr leistet wirklich tolle Arbeit. Vor allem habt ihr mir mit euren Hilfestellungen/Lösungsvorschlägen hier im Forum heute schon eine Menge an Aufwand erleichtert. Auch jenen vielen Dank, die die ganzen Module programmiert haben.
Vermutlich sollte ich heute den Rechner ausschalten, denn ich sitze schon zu lange davor und "sehe den Wald vor lauter Bäumen" nicht. Nachdem die Sitemap jetzt (dank eurer Tipps hier im Forum) nun auch bei mir problemlos funktioniert, gibt es "nur" noch eine Fehlermeldung im Error-Log. Ich muss zu meiner Schande gestehen, dass ich weder PHP- noch MYSQL-Erfahrungen habe und mit Contenido arbeite ich auch erst ein paar Stunden. Es wäre lieb, wenn mir trotzdem jemand von euch helfen könnte, auch wenn dieses vielleicht die dümmsten Anfängerfragen sind, die ich hier stelle. Danke schon mal im Voraus.
Also, was muss ich machen, um den folgenden Fehler weg zu bekommen? Oder ist der nicht schlimm? *duck*
Code: Alles auswählen
Contenido Error Log:
[09-Jan-2004 15:15:34] Invalid SQL: SELECT level FROM WHERE idcat=1<br><br>
[09-Jan-2004 15:15:34] next_record called with no query pending.
Mein Sitemap-Modul sieht folgendermaßen aus:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Sitemap
* Author(s) : Jan Lengowski, Jose Rodriguez
* Copyright : Contenido - four for business, Jose Rodriguez
* Created : 15-08-2002
* Modified : 14-01-2003 by nik wyss
* Modified : 29-12-2003 by Sascha Benkart.
* - Adapt to Contenido V4.4
************************************************/
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">\n".
" <tr valign=\"top\">\n".
" <td>Kategorie wählen:</td>\n".
" <td>\n".
" <select name=\"CMS_VAR[0]\">\n".
" <option value='0'>---Alle---</option>\n";
// 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
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>\n".
" </td>\n".
" </tr>\n".
" <tr>\n".
" <td>Anzahl Ebene:</td>\n".
" <td>\n".
" <input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\">\n".
" </td>\n".
" </tr>\n".
" </table>\n";
und Output:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Sitemap
* Author(s) : Nik Wyss
* Copyright : None
* Created : 14-01-2003
* Modified : 14-01-2003
* Modified : 29-12-2003 by Sascha Benkart.
* - Adapt to Contenido V4.4
* - Output only shows visible items
************************************************/
$amountLevel = "CMS_VALUE[1]";
$newcat = "CMS_VALUE[0]";
$color = array("#e8e8e8", "#e8e8e8","#e8e8e8","#e8e8e8");
function sitemap($newcat=0)
{
global $lang, $client, $amountLevel, $color, $startLevel, $cfg;
$db = new DB_Contenido;
$sql = "SELECT * 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 ".
"B.parentid =$newcat AND level <= $amountLevel AND C.visible=1 ".
"ORDER by A.idtree";
$db->query($sql);
$result = "<table border=0 cellspacing=1 cellpadding=0 border=0>";
while ($db->next_record())
{
$lvl = $db->f("level");
if ($lvl==1)
{
$result.="<tr><td> </td></tr>";
}
$colorID=$lvl-$startLevel;
if ($colorID > count($color)-1)
{
$colorID=count($color)-1;
}
$result .= "<tr><td width='120px' bgcolor='".$color[$colorID].
"' valign=top><a href='front_content.php?idcat=".$db->f("idcat").
"&lang=$lang&client=$client' class='lmLink'>".
$db->f("name")."</a></td><td>".sitemap($db->f("idcat")).
"</td></tr>";
}
$result.= "</table>";
return($result);
}
$sql = "SELECT level FROM $cfgTab_cat_tree WHERE idcat=$newcat";
$db->query($sql);
$db->next_record();
$startLevel = $db->f("level");
$amountLevel += $startLevel;
if ($newcat==0){$amountLevel--;}
echo sitemap($newcat);
?>
Ich arbeite mit Contenido 4.4.2.
Viele Grüße
Dana