Modul: Artikelliste für V4.4.x (V2.0.2)

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 7. Mär 2005, 20:29

Etwas ist mir noch unklar ... und zwar die Sachen, die sich auf "Topic" beziehen. Was sind in dem Zusammenhang die Containernr. (bezogen worauf, auf die komplette Seite, wenn man noch andere Module eingebaut hat?) und der Inhaltstyp? Und bezieht sich das auf die Ueberschrift, oder was ist mit dem Topic an der Stelle gemeint? :oops:

Gruss
Christa

Jakob
Beiträge: 7
Registriert: Mo 21. Mär 2005, 17:59
Kontaktdaten:

Beitrag von Jakob » Mi 6. Apr 2005, 21:49

Weiß jemand von euch wie ich am besten das Datum, an dem der Artikel erstellt worden ist mit einbinden kann ?

Welche SQL-Abfrage ist dafür notwendig und wie kann ich das im Output der Artikelliste gleich realisieren?

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 8. Apr 2005, 19:19

Etwas ist mir noch unklar ... und zwar die Sachen, die sich auf "Topic" beziehen. Was sind in dem Zusammenhang die Containernr. (bezogen worauf, auf die komplette Seite, wenn man noch andere Module eingebaut hat?) und der Inhaltstyp? Und bezieht sich das auf die Ueberschrift, oder was ist mit dem Topic an der Stelle gemeint?
Hui, die Rückmeldung habe ich doch glatt übersehen. Es ist ein Ersatz für die Standardartikelliste, die als Verweis auf die Artikel nur ein Element (ich habe es Topic genannt) anzeigt. Und das ist das schicke an dem Modul: Als Topic kannst Du alles definieren, was als Inhaltslement in der Seite definiert ist. D.h. wenn die Überschrift Deiner Seite in Container 2 als CMS_HTML definiert ist, ist das das Topic.

Die Standardartikelliste erwartet z.B. im Container 1 ein CMS_HEAD-Element (in meiner Erinnerung) - wenn das geändert wird, versagt die Artikelliste...
Weiß jemand von euch wie ich am besten das Datum, an dem der Artikel erstellt worden ist mit einbinden kann ?

Welche SQL-Abfrage ist dafür notwendig und wie kann ich das im Output der Artikelliste gleich realisieren?
Aber Du hast dieses Modul schon integriert und mal die Konfiguration durchgeführt? Tja, wenn ja, dann wähle aus der Liste "Sortiert nach" "Erstellungsdatum" aus; wenn nein, wirf' einen Blick in die Konfiguration.

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

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 27. Apr 2005, 22:43

Ein (optischer) Fehler wurde korrigiert, es handelte sich nicht um die Container-ID, sondern die Nummer eines Content-Types, z.B. 3 bei CMS_HTM[3].

Erstes Posting korrigiert.

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

McSilver
Beiträge: 60
Registriert: Mo 25. Apr 2005, 12:14
Wohnort: Teltow
Kontaktdaten:

Ich hätte da gern mal ein Problem !

Beitrag von McSilver » Di 14. Jun 2005, 09:38

Hallo HerrB,

ich gebe zu, betreffend PHP bin ich ein Newby und bitte deshalb um Hilfe.
Auf unserer Seite habe Dein modifiziertes Modul eingebunden.
Nun ist es aber so, dass ich für die News mehrere Unterkategorien(Themenkreise) anlegen musste. In diese liegen die Artikel nicht in der Hauptkategorie News. Gibt es nun eine Möglichkeit, das Modul zu veranlassen, die aktuellen Artikel aus den den Unterkategorien zu selektieren?

Ich sende hier mal den Code für das von mir eingesetze Modul für eine ArtikelübersichtSeite, dort ist es möglich:

Input:

Code: Alles auswählen

* Copyright : None 
* Created : 13-07-03 
* Modified : 16-08-02 /20-09-03 upt /02-02-04 Beau/04-04-04 Beau 
*/ 


// selected category
$selected = "CMS_VALUE[0]";
$seldir = "CMS_VALUE[9]";
$selimg = "CMS_VALUE[11]";
//funktion für die checkboxen
function d_checked($which) {
  if ($which != "") {
    return "checked";
  }
} // end function



echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
         
  <tr>
         <td></td> <td></td><td width=\"120\">Anzahl Einträge/Seite:   </td><td></td>
          <td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"></td></tr>

<tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            <td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[14]")." name=\"CMS_VAR[14]\"></td>
            <td width=\"120\">Ausgabe mit Startartikel</td>
            <td></td>
<td>Kategorie wählen:<br>
         
<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' ".
                     "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
             
              $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>
<td></td>      
</tr>
      <tr valign=\"top\">
         <td></td>
         <td></td>
         <td width=\"120\"></td>
            <td></td>
            <td>Überschrift: (wenn leer, keine Ausgabe)<br>
               <input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\" size=\"24\"></td>
         </tr>
         <tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            <td> <input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[4]")." name=\"CMS_VAR[4]\"> </td>
            <td width=\"120\">Ausgabe der Artikel-Headline</td>
            <td></td>
            <td>Angezeigte Zeichen Artikel-Headline:<br>
               <input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\" size=\"24\"></td>
         </tr>
         <tr valign=\"top\">
            <td></td>
            <td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[5]")."  name=\"CMS_VAR[5]\"></td>
            <td width=\"120\">Ausgabe der Artikel-Subheadline:</td>
            <td></td>
            <td>Angezeigte Zeichen Artikel-Subheadline:<br>
               <input type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\" size=\"24\"></td>
         </tr>
         <tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            
<tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            <td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[7]")."  name=\"CMS_VAR[7]\" ></td>
            <td width=\"120\">Ausgabe der Thumbnails:</td>
            <td></td>
            <td>Bildcontainer für Thumbnail Quelle:<br>";
               

$db  = new DB_Contenido;
$query = "SELECT output AS out, name AS beschreibung FROM ".$cfg["tab"]["mod"]." "; 
$db->query($query); 
echo"<select name=\"CMS_VAR[11]\">";
echo"<option value=\"kein\">-- kein --</option> ";
while ($db->next_record()) { 
$frontendpath = $db->f("out"); 
$name = $db->f("beschreibung");

$rest = substr("$frontendpath", 3, 30); 

$find = strpos($rest,"CMS_IMG");
if ($find === false) {

}

else {




$ok = substr($rest, $find, 10); 

$nummer = substr($ok, 8, 1);


?>
            <option value="<?php echo $nummer ?>"<?php if ($selimg == $nummer) echo " selected" ?>><?php echo $db->f("beschreibung") ?>
 <?

}


}

echo" </option> </select> ";














echo"</td>

</tr>
<td></td><td></td>
 <td width=\"120\">Thumbnail Ordner</td>
 
<td></td><td>Bitte wählen:<br><select name=\"CMS_VAR[9]\" size=\"1\">";
echo"<option value=\"kein\">-- kein --</option>"; 

$db  = new DB_Contenido;
$query = "SELECT DISTINCT dirname FROM ".$cfg["tab"]["upl"]." ORDER BY dirname ASC"; 
$db->query($query);
while ($db->next_record()) {
 
?> 
            <option value="<?php echo $db->f("dirname") ?>"<?php if ($seldir == $db->f("dirname")) echo " selected" ?>><?php echo $db->f("dirname") ?></option> 
<?php 
   }
echo "</select></td>


<tr valign=\"top\">
<td></td>
<td></td>
<td></td>
<td></td>

</tr>
</table>
"; //Ende
Output:

Code: Alles auswählen

*
* Erweiterte Artikel liste Version 1.1 mit Seitenzählung
*
* Liste von Artikeln mit mehreren Daten basierend
* auf 4fb referenz modul
* 1.Gibt die Subheadline eines Artikel mit aus
* 2.Anschnitte nur nach ganzen Wörtern
* 3.Thumnails werden vernünftig berechnet
*   Author : Evert Smit / Dirk Uptmoor / Peter Beauvain
* Copyright : None
* Created : 13-07-03
* Modified : 16-08-02 /20-09-03 upt /31-01-04 Beau/04-04-04 Beau
************************************************/
switch ($eintrag) {      // das erste mal beim aufruf ist $eintrag undefiniert 
  case ""; 
    $eintrag = "0";      // deswegen wertzuweisung 0 
} 
//Frontendpfad ermitteln 
$query = "SELECT  frontendpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'"; 
$db->query($query); 
$db->next_record(); 
$frontendpath = $db->f("frontendpath");
 
$zps = "CMS_VALUE[8]";  // Anzahl der Einträge
$max = ($eintrag + $zps);
$meineseite=$auth->url();
//------------- erstmal zählen wieviel Artikel vorhanden sind --------------------
$startarton = "AND CATART.is_start = '-1' AND";

//soll der startartikel mit ausgegeben werden?.
$print_startartikel = "CMS_VALUE[14]";
if($print_startartikel !=""){
$startarton = "AND";

}

$selcat = "CMS_VALUE[0]";

if($selcat!="0" && $selcat!=""){

// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.created FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' "." $startarton " ."ARTLANG.online = '1' ORDER BY ARTLANG.created DESC ";

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

unset($articleID);
unset($linkID);
// get id's of sub articles
while ($db->next_record()) {
$articleID[] = $db->f("idartlang");
$linkID[] = $db->f("idart");
$eintraege = $eintraege+1;
} // end while
}
//---------------------------------Unternavigation zusammenbauen------------------------------
  $gbnav = "";
  $gbnav .= "<table width=430px cellspacing=0 cellpadding=0><tr>";
  if ($max >= $eintraege)   	
  $gbnav .= "<td class=textbold><p>  Artikel: ".($eintrag+1)."-".($eintraege)." von ".$eintraege."</p></td>"; 
  else   
  $gbnav .= "<td class=textbold><p>  Artikel: ".($eintrag+1)."-".($max)." von ".$eintraege."</p></td>";
  $gbnav .= "<td class=textbold align=right><p>"; 
  $pages = $eintraege / $zps;
  if ($pages > 1) {
    $gbnav .= "gehe zu Seite ";
    for ($ii = 0; $ii < $pages; $ii++) {
     if ($ii != ($eintrag / $zps)) {
       $gbnav .= "<a href=\"$meineseite&a=view&eintrag="; 
       $gbnav .= ($ii * $zps); 
       $gbnav .= "\">[".($ii+1)."]</a> ";
     }
    }
  }

//-------------------------------- und jetzt gehts los ----------------------------
$startarton = "AND CATART.is_start = '0' AND";

//soll der startartikel mit ausgegeben werden?.
$print_startartikel = "CMS_VALUE[14]";
if($print_startartikel !=""){
$startarton = "AND";

}

//die Überschrift wird ausgegeben wenn sie nicht leer ist.
$print_mainheadline = "CMS_VALUE[2]";

//soll headline ausgegeben werden?
$print_headline = "CMS_VALUE[4]";

//soll subheadline ausgegeben werden?
$print_subheadline = "CMS_VALUE[5]";

//soll ein thumnail ausgegeben werden?
$print_thumbnail = "CMS_VALUE[7]";

//thumbnail breite
$thumbnail_width = "CMS_VALUE[8]";

//wenn thumbnails = 0
$imagetag = "";



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

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

if($selcat!="0" && $selcat!=""){

// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.created FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' "." $startarton " ."ARTLANG.online = '1' ORDER BY ARTLANG.created DESC LIMIT $eintrag,$zps";

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

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

 
  $gbnav .= "</p></td>";
/****************** start table **************************/
echo '
<table border="0" cellpadding="3" cellspacing="0" width="430px">
';


/**** Überschrift der Artikelliste wird ausgegeben, wenn nicht leer ********/

if($print_mainheadline !=""){
echo '
<tr>
<td colspan="2" class="headline">&nbsp;CMS_VALUE[2] <br></td>
<td align="right">  </td>
</tr>

<tr>
<td bgcolor="#ffffcc" class="text">&nbsp; </td>
<td align="right" bgcolor="#fffccf"> </td>
</tr>
';
}
if($print_mainheadline ==""){
echo '
<tr>
<td colspan="2" class="headline">&nbsp;<br></td>
<td align="right">  </td>
</tr>

<tr>
<td bgcolor="#ffffcc" class="text">&nbsp; </td>
<td align="right" bgcolor="#ffffcc"> </td>
</tr>
';
}



// Loop through articles
if (is_array($articleID)) {
    foreach ($articleID as $key => $value) {
    // select all CMS variables of the article

    if($print_headline!="0" && $print_headline!=""){
    $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";

    $db->query($sql);
    $db->next_record();
    

  $headline = urldecode($db->f("value"));

 

for ($j=CMS_VALUE[3]; $j < CMS_VALUE[3]+20; $j++)
{
 $headline1 = substr($headline , 0, $j);

$cut = substr($headline, $j);
if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {

$headline= substr($headline , 0, $j);
$headline .= ' .....';
       }
    }
 }




$cfgTab_art_lang = $cfg['tab']['art_lang'];
$cfgTab_content = $cfg['tab']['content'];

$sql = "SELECT A.author AS author, B.created AS lastmod FROM $cfgTab_art_lang AS A, $cfgTab_content AS B WHERE A.idart='$value' AND B.idartlang=A.idartlang ORDER BY B.created DESC";
$db->query($sql);$db->next_record();
$modifydate= date("d.m.y",strtotime($db->f("lastmod")));
$modifytime= date("H:i",strtotime($db->f("lastmod")));






    if($print_subheadline!="0" && $print_subheadline!=""){
    $sql_subheadline = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '2'";

    $db->query($sql_subheadline);
    $db->next_record();

   $subheadline = urldecode($db->f("value"));

 

for ($i=CMS_VALUE[6]; $i < CMS_VALUE[6]+20; $i++)
{
 $subheadline1 = substr($subheadline , 0, $i);

$cut = substr($subheadline, $i);
if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {

$subheadline= substr($subheadline , 0, $i);
$subheadline .= ' .....';
       }
    }
 }





/******************* begin thumbnails **********************************/
if($print_thumbnail !="0" && $print_thumbnail !=""){

    // select and resolve image path
    $imagesql="select value from ".$cfg["tab"]["content"]." where idartlang='$value' and idtype='4' and typeid='CMS_VALUE[11]'";
    $db2->query($imagesql);
    $db2->next_record();
    $image_id= $db2->f("value");


    // get image name and path
    $imagesql="select * from ".$cfg["tab"]["upl"]." where idupl='$image_id'";
    $db2->query($imagesql);
    $db2->next_record();


    $webdir='upload/';
    $thumbdir='CMS_VALUE[9]';
    $filedir=$frontendpath;
    $imagelocation=$filedir.$webdir.$db2->f('dirname').$db2->f('filename');

$thumblocation=$filedir.$webdir.$thumbdir.$db2->f('filename');
    if (!file_exists($thumblocation)){
    // create thunbnail
    $fileinformation=getimagesize($imagelocation);
    $imagewidth = $fileinformation[0];
    $imageheight = $fileinformation[1];
    $imagetype=$db2->f('filetype');
    $imageattributes = $fileinformation[3];
    //$newfile= $last_id."-image.".$imagetype;
    $target=$thumblocation;

    if ( !(copy($imagelocation,$target)))
    {
    echo "Could not copy file to destintaion., Command returned Error Message. Please check your log files. ".$imagelocation." ".$target;
die;
    }

    //create thumbnails 80xrelational height; neu $thumbnail_width x proportionale Höhe
    // Determine what filetype and set pointer to source image

  
    $original_image=ImageCreateFromJPEG($target);
 
    if (!$original_image){
    echo 'Error getting image from '.$target.'.';
    }



$palette_image =$filedir.$webdir.$thumbdir.'vorlage.jpg';
$thumbsize = getImageSize($palette_image); 
$maxdim = $thumbsize[0]; 
$draw_from = $imagelocation; 
$dim = GetImageSize($draw_from); 
if($dim[0]>$dim[1]) 
{ 
$to_w = $maxdim; 
$to_h = round($dim[1]*($maxdim/$dim[0])); 
$to_x = 0; 
$to_y = round($maxdim-$to_h)/2; 
} 
else 
{ 
$to_h = $maxdim; 
$to_w = round($dim[0]*($maxdim/$dim[1])); 
$to_y = 0; 
$to_x = round($maxdim-$to_w)/2; 
} 

if($dim[2]==1) {$from = ImageCreateFromGIF($draw_from);} 
elseif($dim[2]==2) {$from = ImageCreateFromJPEG($draw_from);} 
elseif($dim[2]==3) {$from = ImageCreateFromPNG($draw_from);} 
$thumb = ImageCreateFromJPEG($palette_image); 
// $set_bg_colour = ImageColorAllocate($thumb,255,0,0); 
// $fill_bg_colour = ImageFill($thumb,0,0,$set_bg_colour); 
imagecopyresampled($thumb, $from, $to_x, $to_y, 0,  
0, $to_w, $to_h, $dim[0], $dim[1]); 






 //echo $target;
    // set image width and height of thunbnail and put pointer for filesytsem
    $thumbfile= $db2->f('filename');
    $target_thumb=$thumblocation;
    $t_width=$thumbnail_width;
    // calculating height to maintain ratio
    $t_height=($thumbnail_width/$imagewidth)*$imageheight;
    // remove digits to get solid number
    list ($t_height,$notimportand)=explode('.',$t_height);
    // create blank image
 $thumb_image=imagecreatetruecolor($t_width,$t_height);
 //     $thumb_image=imagecreate($t_width,$t_height);
  //   $thumb_image=ImageCreateFromJPEG($palette_image);
    // resize image based on height and width
    imagecopyresampled($thumb_image,$original_image,0,0,0,0,$t_width,$t_height,$imagewidth,$imageheight);
    // store image on file system
    // requires different functionf for either gif or jpeg
   
    imagejpeg($thumb,$target_thumb);
 
    imagedestroy($thumb);
    imagedestroy($original_image);
    }
    $image=$webdir.$thumbdir.$db2->f('filename');
    
//wenn Artikel kein Bild hat   

 if (!$db2->f('filename')){
$image=$webdir.$thumbdir.'vorlage.jpg';
}
//Ende 




$imagetag="<img src=\" $image \" border=0>";

} // ende wenn keine thumbs gewünscht
/**************** Ende Thumbnails ***********************/

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



/***********************Anfang Tablezeile für Artikelliste**********************/

echo '
<tr>
<td colspan="2" class="trNews1" cellpadding="2" ><A HREF="'.$link.'">'.$headline.'</a></td>
<td class="trNews2"><A HREF="'.$link.'">'.$modifydate.'</a></td>


</tr>

<tr>
<td width=\"$thumbnail_width\" align="left" bgcolor="#ffffcc"><A HREF="'.$link.'">'.$imagetag.'</a></td>
<td bgcolor="#ffffcc" class="subheadline1" valign="top">'.$subheadline.'<td valign="bottom"><a  href="'.$link.'"><img  src="upload/bilder/mehr.gif" border="0" align="right"></a></td></td>

</tr>
<tr><td bgcolor="#ffffcc"><IMG SRC="$frontendpath/cms/bilder/fueller.gif" WIDTH="1" HEIGHT="3"
BORDER="0"></td></tr>
';


} // end while



unset($headline);
unset($headline1);
unset($subheadline);
unset($subheadline1);

} // end foreach
// -------------- Ausgabe der Seiten Navigation ----------------------
  echo $gbnav;
// --------------- Ende der Seiten Navigation -------------------------
} // end if (is_array)

echo '</table>';

/***********************ende Table**********************/

?>
<br><br>
Für Deine Hilfe währe ich dankbar

Gruß Dietmar

McSilver
Beiträge: 60
Registriert: Mo 25. Apr 2005, 12:14
Wohnort: Teltow
Kontaktdaten:

Hallo HerrB

Beitrag von McSilver » Di 14. Jun 2005, 09:49

:oops: Fehler gemacht :oops:

Ich setze verschiedene Listen ein.
Für die kategorieübergreifende Artikellliste habe ich das Modul von Kummer eingebaut.

Sorry.

Funktioniert auch gut auf der normale Ausgabeseite, aber nicht im Newslayout!

Deshalb wäre mir Dein Modul lieber.

Gruß Dietmar

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 14. Jun 2005, 11:33

Fehler gemacht

Ich setze verschiedene Listen ein.
Für die kategorieübergreifende Artikellliste habe ich das Modul von Kummer eingebaut.

Sorry.

Funktioniert auch gut auf der normale Ausgabeseite, aber nicht im Newslayout!

Deshalb wäre mir Dein Modul lieber.
Ähm, jetzt bin ich verwirrt. Was benötigst Du nun? Nach wie vor eine Artikelliste, die auch aus den Unterkategorien ausliest?

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

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 14. Jun 2005, 11:34

Wenn ja, könnte ich auf diese Variation verweisen, vielleicht hilft das schon: http://contenido.org/forum/viewtopic.php?t=8417

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

McSilver
Beiträge: 60
Registriert: Mo 25. Apr 2005, 12:14
Wohnort: Teltow
Kontaktdaten:

Hallo HerrB,

Beitrag von McSilver » Di 14. Jun 2005, 12:13

tut mir echt leid, wenn ich Dich verwirrt habe.
war nicht meine Absicht.
Also noch mal zur Konkretisierung:

Dein Modul ist wirklich gut, was ich für unsere Seite benötige, ist die Möglichkeit, auch Unterkategorien einzubeziehen. Will heißen, die neuesten Artikel aus diesen Bereiche.
Nachfolgend versuche ich es darzustellen:

-> News
--> Presse
--> Schnellinfo
--> usw.
Da ich durch diese Katalogisierung keine Artikel in News stehen habe, muß ich die Unterkategorien auslesen.

Auf unserer Seite haben wir aber auch für jede Kategorie eine ArtListe, da ist das kein Problem.

So ich hoffe ich mein Problem eingrenzen und deutlich machen können.

Gruß Dietmar

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 14. Jun 2005, 18:03

Ähm, fast. Das Modul oben liest die neuesten Nachrichten aus alle markierten (d.h. beliebigen) Kategorien aus. Mit der Einstellung nur 1 Artikel und sortiert nach Änderungsdatum erhält man den neuesten Artikel aus jeder Kategorie - gruppiert nach Kategorie.

Oder muss es die neuesten x Artikel aus beliebigen Kategorien sein?

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

McSilver
Beiträge: 60
Registriert: Mo 25. Apr 2005, 12:14
Wohnort: Teltow
Kontaktdaten:

Beitrag von McSilver » Mi 15. Jun 2005, 10:18

Hallo HerrB,
'tschuldigung, dass ich gestern nicht mehr antworten konnte.

Ja, das Modul ist es fast und ich glaub ich kann damit leben. Eigentlich schwebte mir vor, dass es die Artikel der Kat zusammenfast und dann die neuesten (nach Datum sortier, geht ja) bringt.

Ich werde versuchen ein wenig zu basteln :roll: .

Danke für Deine Hilfe

Gruß Dietmar

i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt » Fr 17. Jun 2005, 00:43

Ich habe die Liste so erweitert, daß der aktuelle Menüpunkt eine eigene Klasse bekommt. Man hol sich dabei die "idart" per $_GET aus der URL und vergleicht das dann. Das HTML kann man ja an seine eigene Liste anpassen. Hier ist der Code:

Input:
unverändert (s. Original)

Output:

Code: Alles auswählen

<?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
   $query =  "SELECT CONTENT.value AS headline, ARTLANG.idart AS id FROM ";
   $query .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $query .= $cfg["tab"]["content"]." AS CONTENT ";
   $query .= "WHERE CATART.idcat = '$selCat' ";
   if ("CMS_VALUE[6]" != "enabled") {
      $query .= "AND CATART.is_start = '0' ";
   }
   $query .= "AND CONTENT.idartlang = 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 .= "AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' ";
   $query .= "AND ARTLANG.online = '1' ORDER BY ";
   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
   $db->query($query);

   if ($db->num_rows() > 0) {
      // Table header
      echo "  <h3>Spielerliste</h3>
  <hr class=\"x\"/>
  <ul class=\"navi-rechts\">\n";

      while ($db->next_record()) {
$saison_idart = $_GET["idart"];
$aktuelle_idart = $db->f("id");
if ("$aktuelle_idart" == "$saison_idart") {
 $klasse = " class=\"e1a\"";
} else {
 $klasse = "";
}
         $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 '   <li><a href="'.$link.'"'.$klasse.'>'.$headline.' </a></li>
';
      }
      unset($headline);
      echo "  </ul>\n";
   } // end while
} // end if
?>

Hotte
Beiträge: 17
Registriert: Mi 9. Mär 2005, 10:22
Kontaktdaten:

Beitrag von Hotte » Fr 17. Jun 2005, 11:39

Hallo!
Kann mir jemand sagen, was ich wie ändern muss, damit ich anstelle der Überschrift den Titel des Artikels in der Liste stehen habe?
Ich habe es bei der ursprünglichen Legowski-Fassung mit Hilfe einiger Forums-Beiträge bereits probiert - allerdings ohne Erfolg.
Für Hilfe wäre ich sehr dankbar.

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 17. Jun 2005, 11:53

Hast Du denn diese Version überhaupt schon eingesetzt? Und was verstehst Du unter dem Titel? Den Titel des Artikels (Backend), den Seitentitel (Backend) oder ein Element aus Deiner Seite?

Wenn es aus Deiner Seite ist, musst Du diese Artikelliste einfach nur entsprechend konfigurieren. Wenn es sich um die Backend-Elemente handelt, muss ich nochmal Hand anlegen.

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

Hotte
Beiträge: 17
Registriert: Mi 9. Mär 2005, 10:22
Kontaktdaten:

Beitrag von Hotte » Fr 17. Jun 2005, 12:17

Danke für die schnelle Antwort.
Also ich habe das Modul bereits soweit eingesetzt. Ich bräuchte aber den Titel des Artikels aus dem Backend, da die Überschrift in meinem Fall zu lang und zu umfassend ist.
Wäre das möglich?

Gesperrt