Seite 1 von 1

Neuesten Artikel in Artikelliste nicht anzeigen.

Verfasst: Di 20. Jan 2004, 17:08
von Micha33
Hallo Leute,

wie kann ich erreichen das im Modul "Artikelliste" der Erste bzw. der Neueste Artikel nicht mit angezeigt wird. Ich möchte diesen nämlich gesondert auf der Seite platzieren.
Eigentlich müsste es doch reichen, den Zeiger im Abfrageergebnis auf die zweite Zeile zu setzten, ich weiss aber nicht wie.

Hier nochmal zur Erinnerung für die 4.2 Oldies der Outpu-Code des Moduls:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Artikelliste
* Author(s)      :     4fb - Jan Lengowski, Jose Rodriguez
* Copyright   :     Contenido - four for business, Jose Rodriguez
* Created     :     15-08-2002
* Modified    :     21-09-2002
************************************************/


// second db class instance
$db2 = new DB_Contenido;

// selected category
$selcat = "CMS_VALUE[0]";

// anzahl articles
$countart= "CMS_VALUE[1]";

// anzahl der zeichen h1
$mxh = "CMS_VALUE[3]";


// select all articles in category widthout start article
$query = "SELECT ARTLANG.idside, ARTLANG.idsidelang FROM $cfgTab_cat_side AS CATART, $cfgTab_side_lang AS ARTLANG ".
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idside = CATART.idside AND ARTLANG.idlang = '$lang' AND ".
         "ARTLANG.online = '1' AND CATART.is_start = '0' ORDER BY CATART.idside DESC LIMIT $countart";
		 


// execute query
$db->query($query);


unset($articleID);
unset($linkID);

// get id's of sub articles
while ($db->next_record()) {
  $articleID[] = $db->f("idsidelang");
  $linkID[] = $db->f("idside");
} // end while

// loop through subarticles
foreach ($articleID as $key => $value) {

  // select all CMS variables of the article
  //$query = "SELECT * FROM $cfgTab_content WHERE idsidelang = '$value' ORDER BY typeid";
    $query = "SELECT title,summary, created FROM $cfgTab_side_lang WHERE idsidelang = '$value'";
  // execute query
  $db->query($query);

  // link
  $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idside=$linkID[$key]&m=$m&s=$s");

  // loop through result and extraxt data
  while ($db->next_record()) {

    // data type
    
    $headline[] = $db->f("title");
    $created= date("d.m.y H:i",strtotime($db->f("created")));
    $summary = $db->f("summary");
    
    $len = strlen($summary);
    // cut summary if too long
    if ($len > $mxh ) {
      $summary = substr($summary,0,$mxh);
      $summary = $summary . "... ";
    } // end if
  } // end while

  
  // HTML template for one element
  echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">
         <tr valign=\"top\">
          <td width=\"100%\" class=\"ArtikelListe\">
             <a href=\"$link\"><strong>$headline[0]</strong></a> <br>               
             $summary<a href=\"$link\"> read more!</a><br><br>             
           </td>
           

         </tr>                  
       </table>";

  unset($headline);

} // end foreach
Vielen Dank
Micha

Verfasst: Mo 2. Feb 2004, 13:29
von emergence
ganz auf die schnelle:

Code: Alles auswählen

// get id's of sub articles 
while ($db->next_record()) { 
  $articleID[] = $db->f("idsidelang"); 
  $linkID[] = $db->f("idside"); 
} // end while 
ersetzen durch

Code: Alles auswählen

$tmp_counter = 0;
// get id's of sub articles 
while ($db->next_record()) { 
if ($tmp_counter > 0) {
  $articleID[] = $db->f("idsidelang"); 
  $linkID[] = $db->f("idside"); 
}
$tmp_counter++;
} // end while 
läßt einfach den ersten selektierten wert aus...

Kompletten Baum auf einmal löschen

Verfasst: Fr 6. Feb 2004, 14:28
von Micha33
Hallo ermergence,

danke für die Hilfe. Hat wirklich Super geklappt!!!

Ich hab aber noch eine Frage. Ich hab hier einen Baum mit 'zig Kategorien und über 2000!! Artikeln. Diesen will ich jetzt löschen.
Gibt es eine Möglichkeit, dies auf eine schnellere Art und Weise zu tun als jeden Artikel einzeln und von Hand im Backend zu löschen (evtl. DB query).
Es darf aber nur ein besimmter Baum (in meine Fall "Home") gelöscht werden!!! Die anderen Bäume müssen bleiben!!

Falls das möglich ist würde es sehr viel Zeit (Tage) und Arbeit sparen.
Ich benuzte immer noch Contenido 4.2


Vielen Dank im Voraus
Micha

Verfasst: Fr 6. Feb 2004, 14:33
von emergence
nein, leider nicht, abgesehen davon
1. ist mir das ne spur zu heikel ein sql query vorzuschlagen
2. kenne ich die version 4.2 nicht...

Verfasst: Fr 6. Feb 2004, 14:43
von Micha33
Hi emergence,

vielen Dank für die schnelle Antwort.
Ich werde nochmal an die ganze Community posten. Vielliecht fällt ja doch jemandem was ein.

viele Grüße
Micha