Gelöst: Frage zu Article List Advanced - Output

Gesperrt
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Gelöst: Frage zu Article List Advanced - Output

Beitrag von Tom »

Hallo,

ich nutze seit kurzem die geniale Article List Advanced vom geschätzten HerrnB. An dieser Stelle großen Dank für das tolle & flexible Modul ;-)


mein problem ist nunr, dass ich folgendes auflisten lasse:

1. name
darunter: 2. Stadt
darunter: 3. Bild
darunter: 4. "weiterlesen"

wie bei solchen listen üblich, teaser ich nur wenig an und will dass der user den link "weiterlesen" klickt. das besondere ist, dass ich keinentext anteaser, sondern wie beschrieben name, stadt, bild ... das klappt alles prima. und das modul listet alles brav auf. sensationell...

aber ... leider werden alle angeteaserten listenpunkte (so nenne ich jetzt einfach mal punkt 1.4) untereinander aufgeführt. also immer eines nach dem anderen. ich möchte aber gerne, dass nicht nur horizontal sondern auch vertikal aufgelistet wird. und idealerweise auch nur so breit, wie meine innere content tabelle ist, dann soll automatisch ein zeilenumbruch erfolgen.

auf grund der veschiedenen elemente (name, stadt ...) welche durchaus untereinander stehen sollen, ist eine vertikale ausrichtugn wohl nur möglich, in dem man die einzelnen listenpunkte in eine < td > packt. soweit klar. klappt auch. aber logischerweise gibt es keinen zeilenumbruch wenn mein layout nicht groß genug ist.


jetzt die spannende frage: ist es woh irgendwie möglich, dem modul mit auf dem weg zu geben dass nur 3 oder 4 spalten vertikal ausgegeben werden und dann ein umbruch erfolgen soll? bin leider kein coder so dass ich es gerade mal hinkriege, das öffnen der tabelle und die td's an die richtge stelle zu setzen. natürlich fix und nicht flexibel gesteuert :-(

alternativ ist da vielleicht was über das css möglich?



ich würde mich freuen wenn mir jemand einen tipp geben könnte. bei der ausgabe vieler artikel über dieses modul schaut das einfach unprofessionell aus, weil ich ja nur ein minithumb und wenig text ausgeben lasse ...


vielen dank für eure hilfe im voraus!

tom
Zuletzt geändert von Tom am Do 4. Jun 2009, 22:25, insgesamt 1-mal geändert.
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
ravi
Beiträge: 54
Registriert: So 6. Aug 2006, 14:39
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von ravi »

Welche Version verwendest du bitte um Link?
Zuletzt geändert von ravi am Mi 3. Jun 2009, 22:13, insgesamt 1-mal geändert.
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von GaMbIt_ »

Öhm... das ist doch überhaupt kein Problem...

td's tauchen da auch nicht auf... wozu auch.. ist ja kein tabellarischer Inhalt...

je nachdem wie man die Ausgabe aufbaut kann man angeteaserte Artikel als Block hintereinander anzeigen lassen, aber ebenfalls auch als Text in einer Zeile hintereinander...
Nützliche Contenido Infos gibts hier: Contenido Wiki
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Tom »

GaMbIt_ hat geschrieben:Öhm... das ist doch überhaupt kein Problem...

td's tauchen da auch nicht auf... wozu auch.. ist ja kein tabellarischer Inhalt...

je nachdem wie man die Ausgabe aufbaut kann man angeteaserte Artikel als Block hintereinander anzeigen lassen, aber ebenfalls auch als Text in einer Zeile hintereinander...

tja - das denke ich ja auch, dass das kein problem sein kann - aber ich stehe da irgendwie auf dem schlauch :-(

any hints?

:-)

danke im voraus!
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Tom »

ravi hat geschrieben:Bitte um kurze Info, vielleicht kann ich dir dann helfen, ich würde dies auch gerne verwenden.


"Modul: Standard-Artikelliste Advanced V1.4" von HerrB scheint mir nach dem Datum dieses Threads ein sehr altes Modul zu sein.
Gibt es schon ein funktionierendes Modul für Contenido 4.8.12 ?
Zuletzt ist hier auch ein Link auf V1.6 gepostet.

Welche Version verwendest du bitte um Link?

ich verwende

Modul: Article List Advanced V4.6.x V1.4
Author: Björn Behrens (HerrB)
Created: 19.02.2006

funzt immer noch prima in 4.8.12 ;-)

habe bloss keinen schimmer wie ich die ausgabe von untereinander auf nebeneinander ändere. bin daher auf die form der tabelle gestossen. das geht ja dann problemlos. zerschiesst halt nur das design von der rbeite her, wenn mehr inhalt ausgegeben wird, als im layout von der breite her vorgegeben. beim einsetzten der ausgabe als tabelle erfolgt ja kein automatischer zeilenumbruch ;-(

grüße
tom
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
ravi
Beiträge: 54
Registriert: So 6. Aug 2006, 14:39
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von ravi »

Danke durch dein Feedback hab ich es jetzt auch das Modul installiert - war vorher noch skeptisch wegen der Kompabilität.
Habe jetzt skom_advaced_article_list1.6 laufen und es funktioniert. *freu*


Ich verwende dieses von mir angepasste Template für die Advanced Article List, damit sollte dein Problem eigentlich zu lösen sein:

Code: Alles auswählen

<div class="artikellisteadvanced">
<!-- BEGIN:BLOCK -->
 <div class="articleteaserfloat">
   <h2><a href="{HREF}">{HEADLINE}</a></h2>
   <p>{DATE}<br />{IMG}{TEXT} <a href="{HREF}">{MORE} &rsaquo;</a></p>
</div>
<!-- END:BLOCK -->
</div>
Und dann im css:

Code: Alles auswählen

.artikellisteadvanced{
  width:500px;
  background-color:#000000;
}
.articleteaserfloat{
  float:left;
  font-size:15px;
  margin:2px;
  background-color:#cccccc;
}

Hoffe das hilft.
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Tom »

danke fürs feedback.

also ok - template anlegen, css einfügen ... und wie sag ich dem modul dass es das template nutzen soll?
sorry - stehe total auf dem schlauch. ist schon ein paar tage her das ich in den modulen rumfummeln musste :-)
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
Mirco NAJU
Beiträge: 77
Registriert: Sa 30. Mai 2009, 09:11
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Mirco NAJU »

relativ am Anfang des Moduls im Output

im Zweifelsfall einfach mal nach folgendem Eintrag schauen

$MOD_TE_template = 'terminanzeige_v2.html';

steht wie gesagt immer rellativ am Anfang ... kann aber verschiedene Variablenbezeiichnungen habe
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Tom »

hi,

entweder bin ich blind oder wir reden von unterschiedlichen advanced artikle lists ;-)

hier mal mein oputput:

Code: Alles auswählen

<?php
# Initialization
$bDebug     = false;
$iDataStart = 20;
$lCount     = 0;

unset ($aData);
$aData = array();

# Base settings
unset ($aSettings);
$aSettings = array();
$aSettings["ArticleCount"]       = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"]     = "CMS_VALUE[1]";
$aSettings["SortBy"]             = "CMS_VALUE[2]";
$aSettings["SortDir"]            = "CMS_VALUE[3]";
$aSettings["ShowStart"]          = "CMS_VALUE[4]";
$aSettings["Category"]           = "CMS_VALUE[5]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"]     = "CMS_VALUE[8]";
$aSettings["Elements"]           = "CMS_VALUE[9]";
$aSettings["CatTypeSel"]         = "CMS_VALUE[10]";
$aSettings["AddCats"]            = "CMS_VALUE[11]";

# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {
   $aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {
   $aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if ($aSettings["ArticlePerPage"] == 0 || !is_numeric($_REQUEST["nextstep"])) {
   $_REQUEST["nextstep"] = 0;
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
   $aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
   $aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {
   $aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {
   $aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {
   $aSettings["CatTypeSel"] = "none";
}

# Detail settings
if ($aSettings["Elements"] > 0) {
   for ($i = 0; $i < $aSettings["Elements"]; $i++) {
      $iElementType       = $iDataStart + ($i * 5);
      $iElementIdentifier = $iElementType + 1;
      $iElementWidth      = $iElementType + 2;
      $iElementHeight     = $iElementType + 3;

      $aSettings["k".$i] = array();
      $aSettings["k".$i]["ElementType"]    = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
      $aSettings["k".$i]["Identifier"]     = "CMS_VALUE[$iElementIdentifier]";
      $aSettings["k".$i]["ElementWidth"]   = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
      $aSettings["k".$i]["ElementHeight"]  = "CMS_VALUE[$iElementHeight]";

      # Check detail settings
      if ($aSettings["k".$i]["ElementType"] == "") {
         $aSettings["k".$i]["ElementType"] == "Text";
      }
      if ($aSettings["k".$i]["ElementType"] == "Text") {
         $aSettings["ElementHeight"] = 0;
         if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
            $aSettings["k".$i]["ElementWidth"] = 50;
         }
      } else if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
                 !is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0) {
         $aSettings["k".$i]["ElementWidth"] = 0;
         $aSettings["k".$i]["ElementHeight"] = 0;
      }
      if (strlen($aSettings["Identifier"]) > 50) {
         $aSettings["Identifier"] = "";
      }
   }
}

unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);

if ($aSettings["Category"] !== "0" && $aSettings["HeadlineIdentifier"] !== "") {
   if (!is_object($db2)) {
      $db2 = new DB_Contenido;
   }

   # Specifying search categories
   $sSelCats = "'".$aSettings["Category"]."'";
   # Adding categories "below" primary category
   switch ($aSettings["CatTypeSel"]) {
      case "below":
         $lCatLevel = -1;
         $sql  = "SELECT a.idcat AS idcat, b.level AS level FROM ".$cfg["tab"]["cat"]." a, ".$cfg["tab"]["cat_tree"]." b ";
         $sql .= "WHERE a.idcat = b.idcat ORDER BY b.idtree";

         $db2->query($sql);
         while($db2->next_record()) {
            if ($db2->f("idcat") == $aSettings["Category"]) {
               $lCatLevel = $db2->f("level");
            } else if ($lCatLevel > -1 && $db2->f("level") > $lCatLevel) {
               $sSelCats .= ",'".$db2->f("idcat")."'";
            } else if ($db2->f("level") <= $lCatLevel) {
               break;
            }
         }
         break;
      case "selected":
         $aCats = explode(",",$aSettings["AddCats"]);
         foreach ($aCats as $value) {
            if (is_numeric($value)) {
               $sSelCats .= ",'".$value."'";
            }
         }
         break;
      default:
   }

   $sql  = "SELECT tblData.value AS headline, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
   $sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
   $sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
   $sql .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $sql .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $sql .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
   $sql .= $cfg["tab"]["content"]." AS tblData ";

   $sql .= "WHERE CATART.idcat IN (".$sSelCats.") AND ARTLANG.idlang = '".$lang."' ";
   $sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
   $sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
   $sql .= "AND CATLANG.idcat = CATART.idcat ";
   $sql .= "AND ARTLANG.idart = CATART.idart ";

   if ($aSettings["ShowStart"] != "enabled") {
      if ($cfg["is_start_compatible"] == true) {
         $sql .= "AND CATART.is_start = '0' ";
      } else {
         $sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
      }
   }

   $sql .= "AND ARTLANG.online = '1' ";
   $sql .= "AND ".$aSettings["HeadlineIdentifier"]." ";

   // Sort by
   $sql .= "ORDER BY ";
   $sql .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";

   // LIMIT
   if ($aSettings["ArticleCount"] > 0) {
      $sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
   }

   // execute query
   $db2->query($sql);
   $lCount = $db2->num_rows();

   if ($lCount > 0) {
      if (!is_object($db3)) {
         $db3 = new DB_Contenido;
      }
      if (!is_object($db4)) {
         $db4 = new DB_Contenido;
      }
      if ($aSettings["ArticlePerPage"] > 0) {
         $lStartCount = $_REQUEST["nextstep"];
         $lEndCount   = $_REQUEST["nextstep"] + $aSettings["ArticlePerPage"];
         if ($lEndCount > $lCount) {
            $lEndCount = $lCount;
         }
      } else {
         $lStartCount = 0;
         $lEndCount   = $lCount;
      }

      $lRow = 0;
      $i    = 0;
      while ($db2->next_record()) {
         if ( $aSettings["ShowStart"] == "enabled" || 
             ($aSettings["ShowStart"] != "enabled" && $db2->f("idartlang") != $lStartIDArtLang)) {
            if ($lRow >= $lStartCount && $lRow < $lEndCount) {
               $aData[$i]                        = array();
               $aData[$i]["Category"]            = urldecode($db2->f("category"));
               $aData[$i]["Link"]                = $sess->url("front_content.php?idcat=".$db2->f("idcat")."&idart=".$db2->f("id"));;
               $aData[$i]["LastModified"]        = $db2->f("lastmodified");
               $aData[$i]["Created"]             = $db2->f("created");
               $aData[$i]["Published"]           = $db2->f("published");
               $sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
               if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"]) {
                  # Cutting text but preserving words and entities
                  $sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
               }
               $aData[$i]["Headline"] = $sTmpValue;

               if ($aSettings["Elements"] > 0) {
                  for ($k = 0; $k < $aSettings["Elements"]; $k++) {
                     $aData[$i]["i".$k]               = array();
                     $aData[$i]["i".$k]["Value"]      = "";
                     $aData[$i]["i".$k]["ServerPath"] = "";
                     $aData[$i]["i".$k]["WebPath"]    = "";
                     $aData[$i]["i".$k]["Width"]      = 0;
                     $aData[$i]["i".$k]["Height"]     = 0;
                  }
               
                  $sql =  "SELECT tblData.value AS value, tblData.idtype AS idtype, tblData.typeid AS typeid FROM ";
                  $sql .= $cfg["tab"]["cat_art"]." AS tblCatArt, ";
                  $sql .= $cfg["tab"]["art_lang"]." AS tblArtLang, ";
                  $sql .= $cfg["tab"]["content"]." AS tblData ";
                  $sql .= "WHERE tblData.idartlang = tblArtLang.idartlang AND ";
                  $sql .= "tblArtLang.idlang = '".$lang."' AND ";
                  $sql .= "tblArtLang.idart = tblCatArt.idart AND ";
                  $sql .= "tblCatArt.idcatart = '".$db2->f("idcatart")."' AND (";
               
                  $sql_items = "";
                  for ($k = 0; $k < $aSettings["Elements"]; $k++) {
                     if ($aSettings["k".$k]["Identifier"] != "") {
                        if ($sql_items != "") {
                           $sql_items .= " OR (".$aSettings["k".$k]["Identifier"].")";
                        } else {
                           $sql_items = "(".$aSettings["k".$k]["Identifier"].")";
                        }
                     }
                  }
                  $sql .= $sql_items.")";
                  
                  if ($bDebug) {
                     echo "<pre>".$sql."</pre>", chr(10);
                  }

                  // execute query
                  $db3->query($sql);
                  
                  while ($db3->next_record()) {
                     $sTypeIdentifier = "tblData.idtype = '".$db3->f('idtype')."' AND tblData.typeid = '".$db3->f('typeid')."'";
                     
                     # Note: The TypeIdentifier for one item may be the same as for another item.
                     #       Therefore, we are storing the content everywhere as needed
                     for ($k = 0; $k < $aSettings["Elements"]; $k++) {
                        if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"]) {
                           switch (TRUE) {
                              case ($aSettings["k".$k]["ElementType"] == "Image" || $aSettings["k".$k]["ElementType"] == "ExtractedImage"):
                                 $sql = "";
                                 if ($aSettings["k".$k]["ElementType"] == "Image") {
                                    $sql =  "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
                                    $sql .= "WHERE idupl = '".$db3->f('value')."'";
                                 } else {
                                    $sTmpValue = urldecode($db3->f('value'));
   
                                    $regEx = "/<img[^>]*?>.*?/i";
                                    $match = array ();
                                    preg_match($regEx, $sTmpValue, $match);
      
                                    $regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
                                    $img = array ();
                                    preg_match($regEx, $match[0], $img);
                                    $img_src = preg_split("/\//", $img[0]);
                                    
                                    $img_name = $img_src[count($img_src) - 1];
                                    $img_name = preg_replace("/\"/", "", $img_name);
                                    #Don't know what is happening here, exactly...
                                    # $img_split = preg_split("/\./", $img_name);
                                    # $img_type = $img_split[count($img_split) - 1];
                                    # $img_split2 = preg_split("/_/", $img_split[0]);

                                    $name = strtolower($img_name);

                                    #Don't know what is happening here, exactly...
                                    #if (count($img_split2) > 1) {
                                    #   $img_x = $img_split2[count($img_split2) - 1];
                                    #   $img_y = $img_split2[count($img_split2) - 2];
    
                                    #   if (is_numeric($img_x) AND is_numeric($img_y)) {
                                    #      $suffix = "_".$img_x."_".$img_y.".".$img_type;
                                    #      $name = preg_replace("/$suffix/", "", $img_name);
                                    #      $name = $name.".[a-zA-Z]{3}";
                                    #   }
                                    #}
   
                                    if (strlen($name) > 0) {
                                       $sql =  "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
                                       $sql .= "WHERE LOWER(filename) = '$name'";
                                       // $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
                                    }
                                 }
                              
                                 if ($bDebug) {
                                    echo "<pre>".$sql."</pre>";
                                 }
                              
                                 // execute query
                                 if ($sql != "") {
                                    $db4->query($sql);
                                 
                                    if ($db4->next_record()) {
                                       $aData[$i]["i".$k]["ServerPath"] = $cfgClient[$client]["upl"]["path"].$db4->f('dirname').$db4->f('filename');
                                       $aData[$i]["i".$k]["WebPath"]    = $cfgClient[$client]["upl"]["htmlpath"].$db4->f('dirname').$db4->f('filename');

                                       list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["WebPath"]);
                                       $aData[$i]["i".$k]["Width"]      = $width;
                                       $aData[$i]["i".$k]["Height"]     = $height;
                                    }
                                 }
                              
                                 break;
                              default:
                                 $sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
                                 if ($aSettings["k".$k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k".$k]["ElementWidth"]) {
                                    # Cutting text but preserving words and entities
                                    $sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["k".$k]["ElementWidth"])."...");
                                 }
                                 $aData[$i]["i".$k]["Value"] = $sTmpValue;
                           }
                        }
                     } 
                  }
               }
               $i++;
            } else if ($lRow == $lEndCount) {
               break;
            }
            $lRow++;
         }
      }
      # Clearing memory
      unset ($db2);
      unset ($db3);
      unset ($db4);
      unset ($sql);
      unset ($lStartIDArtLang);
      unset ($lStartCount);
      unset ($lEndCount);

      # Output data
      # Every output manipulation should be done here...
      # 
      # Base information:
      # $aSettings["Elements"]:       Number of expected, additional elements from each article
      # $aSettings["ArticlePerPage"]: Number of articles per page (0: show all)
      # $aSettings["k".$i]["ElementType"]:   Per Element: Type of Element: Text, Image or ExtractedImage
      # $aSettings["k".$i]["ElementWidth"]:  Per Element: Text length or image width (-> recycling ...)
      # $aSettings["k".$i]["ElementHeight"]: Per Element: Image width
      # 
      # Per article:
      # $aValue["Headline"]:          Content of article element specified as containing the headline information
      # $aValue["Link"]:              Relative link to get to the listed article
      # $aValue["LastModified"]:      Last modified date of the article
      # $aValue["Created"]:           Created date of the article
      # $aValue["Published"]:         Published date of the article
      # $aValue["Category"]:          Category name
      # 
      # Per article additional element:
      # $aValue["i".$i]["Value"]:      Text (only for text elements, otherwise "")
      # $aValue["i".$i]["WebPath"]:    HTTP... path to image
      # $aValue["i".$i]["ServerPath"]: /server/... path to image
      # $aValue["i".$i]["Width"]:      >Original< image width
      # $aValue["i".$i]["Height"]:     >Original< image height

#      echo '<table><tr>';
      foreach ($aData as $aValue) {
         
#         echo '<td width=300>';
         echo '<div>', chr(10);
         echo '<b><div id="headline">'.$aValue["Headline"].'</div></b>', chr(10);

         if ($aSettings["Elements"] > 0) {
            for ($i = 0; $i < $aSettings["Elements"]; $i++) {
               switch (TRUE) {
                  case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
                     $image = $aValue["i".$i]["WebPath"];
                     
                     $width  = $aValue["i".$i]["Width"];
                     $height = $aValue["i".$i]["Height"];

                     if ($aSettings["k".$i]["ElementWidth"] > 0 && $aSettings["k".$i]["ElementHeight"] > 0) {
                        # Check, if resize necessary
                        if ($aValue["i".$i]["ServerPath"] != "" && file_exists($aValue["i".$i]["ServerPath"]) && 
                            ($aValue["i".$i]["Width"] > $aSettings["k".$i]["ElementWidth"] || 
                             $aValue["i".$i]["Height"] > $aSettings["k".$i]["ElementHeight"])) {
                           # Scale image
                           $image = capiImgScale($aValue["i".$i]["ServerPath"], $aSettings["k".$i]["ElementWidth"], $aSettings["k".$i]["ElementHeight"], false, false, 10, false);
                           
                           #Get dimensions of the image
                           list ($width, $height, $type, $attr) = getimagesize($image);
                        } else {
                           $image = $aValue["i".$i]["WebPath"];
                           
                           $width  = $aValue["i".$i]["Width"];
                           $height = $aValue["i".$i]["Height"];
                        }
                     }
                     
                     if ($image != "") {
                        echo '   <div id="image"><a href="'.$aValue["Link"].'"><img src="'.$image.'" width="'.$width.'" height="'.$height.'" border=0 /></a></div>', chr(10);
                     }
                     
                     break;
                  default: // Everything else is treated as "Text"
                     echo '   <div id="text">'.$aValue["i".$i]["Value"].'</div>', chr(10);
               }
            }
         }
         echo '<img src="images/bc/bc_contentpfeil.gif" width="8" height="9"><b>&nbsp;<a href="'.$aValue["Link"].'">'.mi18n("More...").'</a></b>', chr(10);
         echo '</div><br><br>', chr(10);
      }
   }
   
#    echo '</td>';
#     echo '</tr></table>';

   # Page browsing
   # Hint: Number of max available records: $lCount
   #       Number of pages: round($lCount / $aSettings["ArticlePerPage"])
   #       First page: nextstep=0
   #       Last page:  nextstep=(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"];
   #                   (I have to admit that I'm not sure about the last page formula ... ;-) )
   if ($aSettings["ArticlePerPage"] > 0) {
      # Example: Back and Next
      echo '<div id="browsing">', chr(10);
      if ($_REQUEST["nextstep"] > 0) {
         echo '   <div id="Back">', chr(10);
         echo '      <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.($_REQUEST["nextstep"]-$aSettings["ArticlePerPage"]).'">'.mi18n("Back").'</a>', chr(10);
         echo '   </div>', chr(10);
      }
      if (($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) < $lCount) {
         echo '   <div id="Next">', chr(10);
         echo '      <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.($_REQUEST["nextstep"]+$aSettings["ArticlePerPage"]).'">'.mi18n("Next").'</a>', chr(10);
         echo '   </div>', chr(10);
      }

      # Example: 1 2 3 4 5 6 7 ...
      $iPages = intval($lCount / $aSettings["ArticlePerPage"]);
      $sPageLinks = '';

      echo '   <div id="Pages">';
      for ($i = 1; $i <= $iPages; $i++) {
         $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
         if ($sPageLinks != '') {
            $sPageLinks .= '&nbsp;';
         }
         if ($_REQUEST["nextstep"] == $lNextStep) {
            $sPageLinks .= $i."\n"; # I'm on the current page, no link
         } else {
            $sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
         }
      }
      echo '      '.$sPageLinks."\n";
      echo '   </div>'."\n";

      # Example: |< 1 ... 3 4 5 ... 8 >|
      $iPages = intval($lCount / $aSettings["ArticlePerPage"]);
      $sPageLinks = '';

      echo '   <div id="Pages">'."\n";
      echo '      <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep=0">|<</a>'."\n";
      for ($i = 1; $i <= $iPages; $i++) {
         $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
         if ($i == 1 || $i == $iPages) {
            if ($sPageLinks != '') {
               $sPageLinks .= '&nbsp;';
            }
            if ($_REQUEST["nextstep"] == $lNextStep) {
               $sPageLinks .= $i."\n"; # I'm on the current page, no link
            } else {
               $sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
            }
         } else if ($_REQUEST["nextstep"] == $lNextStep) {
            $sPageLinks .= '&nbsp;'.$i."\n"; # I'm on the current page, no link
         } else if ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"])) {
            # Front
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"])) {
            # Back
            $sPageLinks .= '&nbsp;<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
         } else if ($_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
                    $_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"]))) {
            $sPageLinks .= '...';
         }
      }
      echo '      '.$sPageLinks."\n";
      echo '      &nbsp;<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"].'">>|</a>'."\n";
      echo '   </div>'."\n";

      echo '</div>'."\n"; # Closing Browsing div
      
   }
}

# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
?>
wenn ich das richtig interpretiere, erfolgen die angaben bezgl. style direkt im output, ohne verwendung eines templates - welches es bei mir unter templates auch nicht gibt...
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
ravi
Beiträge: 54
Registriert: So 6. Aug 2006, 14:39
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von ravi »

Bei v1.6 sagst du ihm das Template direkt in der Template Konfiguration!!
Das ist eigentlich auch am geschicktesten so

--

Verwende das hier, ist das beste derzeit finde ich:
http://www.handgewickelte-glasperlen.de ... ist1.6.zip - Dies wurde hier vom Kollegen abgelegt, weil er das Original auch nicht finden konnte.

Hier wurde das gepostet: http://forum.contenido.org/viewtopic.ph ... 45#p125245

--

Der Ort wo der originale Download dieses Updates liegt, weiß ich leider nicht. Fände ich allerdings eigentlich recht gut zu wissen, weil die Entwicklung dürfte weitergegangen sein.

Greets,
ravi
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Tom »

und darin liegt der unterschied. du verwendest skom und ich das (offenbar) original von HerrnB.

danke für den link - gucke ich mir gleich mal an.
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
ravi
Beiträge: 54
Registriert: So 6. Aug 2006, 14:39
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von ravi »

du wirst es mögen..
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Frage zu Article List Advanced - Output

Beitrag von Tom »

bin schon dabei es zu mögen :-)

für mich sind da keine erweiterungen drin, welche ich brauchen könnte - bis aufs template natürlich ;-))) das ist gold wert.

im IE werden die inhalte bereits nebeneinander gesetzt - so wie gewünscht. leider im FF noch nicht. aber ich bastel es erstmal für den IE fertig, dann sehe ich mir das für den FF an. wird am CSS liegen denke (hoffe) ich.

hab vielen dank für den link und die unterstützung!
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
Tom
Beiträge: 80
Registriert: Fr 20. Sep 2002, 21:47
Wohnort: Mülheim
Kontaktdaten:

Re: Gelöst: Frage zu Article List Advanced - Output

Beitrag von Tom »

so - hab spass :-) habs so hinbekommen wie ich es wollte - zumindest im firefox. der IE zickt noch.

für interessierte, hier mein css:

Code: Alles auswählen

.artikellisteadvanced{
  width:470px;
  float:right; 
}

.articleteaserfloat{
  width:105;
  float:left;
  margin:5px;
  background-color:#E2D39E;
  border:1px solid #847645;
  left:30px;top:30px;
  -moz-border-radius:10px;
  -khtml-border-radius:10px;
  
}

das css bewirkt in meinem fall (überschrift, bild, link zum artikel, alles untereinander als block, viele blöcke nebeneinander mit automatischen zeilenumbruch), dass der bereich in dem der content (also überschrift, darunter bild, darunter link) steht, einen farbigen hintergrund hat, einen 1px rand und der rand dazu noch schon abgerundet ist. im FF schauts geil aus, der IE macht die ränder nicht. da isset also nur "eckiger" aber dennoch schöner block.

so - gehe nun auf die suche welche css einstellung der IE bevorzugt ;)

viele grüße
tom
Wer rechtschreipfeler Vindet darv die auch gerne behallten :-)
Gesperrt