Artikelliste modifizieren

Gesperrt
general2000plus
Beiträge: 53
Registriert: Mi 5. Jan 2005, 13:58
Wohnort: Coellefornia
Kontaktdaten:

Artikelliste modifizieren

Beitrag von general2000plus » Mi 23. Nov 2005, 16:48

hallo

ich habe die artikelliste von herrb
http://www.contenido.org/forum/viewtopic.php?t=8887
versucht anzupassen:
ich habe im output bereich zwei zusätzliche inhaltstypen mit ausgebn wollen.
version c 4.6.2
jetzt bekomme ich folgende fehlermeldung

Code: Alles auswählen

Fatal error: Call to a member function on a non-object
hier ist mein modifizierter output:
<?php
$selCat  = "CMS_VALUE[0]"; // selected category
$maxChar = "CMS_VALUE[3]"; // Max. shown topic length

if (!is_numeric($maxChar) || $maxChar < 1) {
   $maxChar = "50";
}

if(is_numeric($selCat) && $selCat != "0") {

   // select all articles in category without start article
   $query1  = "SELECT CONTENT.value AS text, ARTLANG.idart AS id, " ;
   $query1 .= "CATLANG.startidartlang, ARTLANG.idartlang FROM ";
   $query1 .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $query1 .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $query1 .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
   $query1 .= $cfg["tab"]["content"]." AS CONTENT ";

   $query1 .= "WHERE CATART.idcat = '$selCat' AND ARTLANG.idlang = '$lang' ";
   $query1 .= "AND CONTENT.idartlang = ARTLANG.idartlang ";
   $query1 .= "AND CATLANG.idlang = ARTLANG.idlang ";
   $query1 .= "AND CATLANG.idcat = CATART.idcat ";
   $query1 .= "AND ARTLANG.idart = CATART.idart ";
   $query1 .= "AND ARTLANG.online = '1' ";
   $query1 .= "AND CONTENT.typeid = '2' "; 
   $query1 .= "AND CONTENT.idtype = '1' ";   
   $query1 .= "ORDER BY "; 
   $query1 .= "ARTLANG.created ";    
   $query1 .= "DESC ";  
   
   // select all articles in category without start article
   $query2  = "SELECT CONTENT.value AS datum, ARTLANG.idart AS id, " ;
   $query2 .= "CATLANG.startidartlang, ARTLANG.idartlang FROM ";
   $query2 .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $query2 .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $query2 .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
   $query2 .= $cfg["tab"]["content"]." AS CONTENT ";

   $query2 .= "WHERE CATART.idcat = '$selCat' AND ARTLANG.idlang = '$lang' ";
   $query2 .= "AND CONTENT.idartlang = ARTLANG.idartlang ";
   $query2 .= "AND CATLANG.idlang = ARTLANG.idlang ";
   $query2 .= "AND CATLANG.idcat = CATART.idcat ";
   $query2 .= "AND ARTLANG.idart = CATART.idart ";
   $query2 .= "AND ARTLANG.online = '1' ";
   $query2 .= "AND CONTENT.typeid = '2' "; 
   $query2 .= "AND CONTENT.idtype = '2' ";   
   $query2 .= "ORDER BY "; 
   $query2 .= "ARTLANG.created ";    
   $query2 .= "DESC ";  
   
   // select all articles in category without start article
   $query  = "SELECT CONTENT.value AS headline, ARTLANG.idart AS id, " ;
   $query .= "CATLANG.startidartlang, ARTLANG.idartlang FROM ";
   $query .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $query .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
   $query .= $cfg["tab"]["content"]." AS CONTENT ";

   $query .= "WHERE CATART.idcat = '$selCat' AND ARTLANG.idlang = '$lang' ";
   $query .= "AND CONTENT.idartlang = ARTLANG.idartlang ";
   $query .= "AND CATLANG.idlang = ARTLANG.idlang ";
   $query .= "AND CATLANG.idcat = CATART.idcat ";
   $query .= "AND ARTLANG.idart = CATART.idart ";
   $query .= "AND ARTLANG.online = '1' ";

   if ("CMS_VALUE[6]" != "enabled") {
      $query .= "AND CATLANG.startidartlang != ARTLANG.idartlang ";
   }

   // Content-Type-Number
   if (!is_numeric("CMS_VALUE[8]")) {
      $query .= "AND CONTENT.typeid = '1' ";
   } else {
      $query .= "AND CONTENT.typeid = 'CMS_VALUE[8]' ";
   }

   // Content-Type
   if (!is_numeric("CMS_VALUE[9]")) {
      $query .= "AND CONTENT.idtype = '1' ";
   } else {
      $query .= "AND CONTENT.idtype = 'CMS_VALUE[9]' ";
   }

   $query  .= "ORDER BY ";
   /* Does not work in Contenido >= V4.5.x
   if ("CMS_VALUE[6]" == "enabled" && "CMS_VALUE[7]" == "enabled") { // Startartikel an erster Stelle
      $query .= "CATART.is_start DESC, ";
   } */

   // Sort by
   if ("CMS_VALUE[4]" == "") {
      $query .= "CATART.idart ";
   } else {
      $query .= "CMS_VALUE[4] ";
   }

   // ASC/DESC
   if ("CMS_VALUE[5]" == "") {
      $query .= "DESC ";
   } else {
      $query .= "CMS_VALUE[5] ";
   }

   // LIMIT
   if (is_numeric("CMS_VALUE[10]") && "CMS_VALUE[10]" > 0) {
      $query .= "LIMIT 0, CMS_VALUE[10]";
   }

   // execute query
   $db2->query($query1);
   $db3->query($query2);
   $db->query($query);

   if ($db->num_rows() > 0) {
      // Table header
      echo '<table width="400" border="0" cellspacing="0" cellpadding="0">';
      while ($db->next_record()) {
      $db2->next_record();
      auftrag=urldecode($db2->f("text"));
      $db3->next_record();
      $datum=urldecode($db3->f("datum"));
         $headline = urldecode($db->f("headline"));
         if (strlen($headline) > $maxChar) {
            $headline = substr($headline, 0, $maxChar);
            $headline .= '..';
         }

         $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id"));
         
         echo '<tr><td style="padding-bottom:15px;"><a href="'.$link.'"><strong>'.$auftrag.'</a></strong><br>'.$headline.'<br>'.$datum.'</td></tr>';
      }
      unset($headline);
      unset($text);
      echo '</table><br>';
   } // end while
} // end if
?>
 
kann mir einer von euch sagen wo der fehler liegen könnte?

danke

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 23. Nov 2005, 16:55

wenn du mit $db3, $db2 oder $db arbeitest solltest du vielleicht zu beginn
die db klasse initialisieren... (es ist nicht gesagt das alle initialisiert wurden)

ich tippe einfach mal darauf das die $db3 nicht initialisiert wurde

eine initialisierung sieht so aus

Code: Alles auswählen

$db = new DB_Contenido();
$db2 = new DB_Contenido();
$db3 = new DB_Contenido();
*** make your own tools (wishlist :: thx)

general2000plus
Beiträge: 53
Registriert: Mi 5. Jan 2005, 13:58
Wohnort: Coellefornia
Kontaktdaten:

Beitrag von general2000plus » Mi 23. Nov 2005, 17:09

super, genau das war das problem.
danke

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Do 24. Nov 2005, 22:18

general2000plus hat geschrieben:super, genau das war das problem.
danke
@general200plus

wärst du so nett deinen modifizierten input/outputcode zu posten, damit auch dummies wie ich was lernen ;) ?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

Gesperrt