Seite 1 von 1

Sitemapmodul - Fehler

Verfasst: Mi 23. Feb 2005, 16:38
von malsdgtac
Hallo ich verwendet das folgende Sitemapmodul von der Downloadseite sollte das von Nik Wyss sein. Folgend schaut der Output aus:

Code: Alles auswählen

$amountLevel = "CMS_VALUE[1]";
  $newcat = "CMS_VALUE[0]";
  $color = array("#aaaaff", "#bbbbff","#ccccff","#ddddff");
  
  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 = "<ul>";
    while ($db->next_record())
    {  
      $lvl = $db->f("level");
      if ($lvl==1)
      {
        $result.="";
      }
      $colorID=$lvl-$startLevel;
      if ($colorID > count($color)-1)
      {
        $colorID=count($color)-1;
      }
//$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'])); 
//$tpl->set('d', 'HREF', $sess->url($client.'_'.$lang.'_'.$data['idcat'].'_.php')); 
      $result	.=  "<li><a href=".$client."_".$lang."_".$db->f("idcat")."_.php title='".$db->f("name")."'>".$db->f("name")."</a></li>\n".sitemap($db->f("idcat"));
    }
    $result.=  "</ul>";
    return($result);
  }
Leider wird dadurch bei jedem Aufruf folgender Fehler in den errorlog geschrieben:

Code: Alles auswählen

[23-Feb-2005 16:11:42] Invalid SQL: SELECT level FROM  WHERE idcat=8<br><br>
[23-Feb-2005 16:11:42] next_record called with no query pending.
Nachdem die Sitemap auf jeder Seite aufgerufen wird, wird der Errorlog dadurch sehr schnell viel zu groß. Kann mir jemand helfen wie ich diese Fehlermeldung beseitigen kann?

Verfasst: Mi 23. Feb 2005, 17:48
von swelpot
hi,

ich glaube nicht, dass die fehlermeldung von dem geposteten modul stammt...
eine sql-anweisung

Code: Alles auswählen

SELECT level ... 
kommt darin garnicht vor...

ich würde eher zu der vermutung tendieren, dass du irgendein altes modul von einer version vor 4.4.x benutzt in der innerhalb einer sql-anweisung tabellennamen in einer globalen variable stehen und nicht wie in der aktuellen contenido-version in $cfg["tab"][]...
die globalen variablen der form $cfg_tab_... (oder so ähnlich) werden in den neueren versionen nicht mehr benutzt...