Linkliste aus Article List Advanced

Gesperrt
mauerblume
Beiträge: 89
Registriert: Do 12. Feb 2004, 20:42
Wohnort: Niederlausitz
Kontaktdaten:

Linkliste aus Article List Advanced

Beitrag von mauerblume »

Ich möchte mir eine Linkliste bauen und das Modul Article List Advanced nutzen.

Es soll also für jeden Linkeintrag ein eigener Artikel erstellt werden,
und daraus soll eine Liste generiert werden.

Funktioniert ja auch tadellos.

Aber, jetzt das Problem:
Beim Erstellen des Artikels wird ein Textfeld benutzt, um die URL einzugeben,
außerdem wird ein Bildmodul bneutzt, um ein Logo einzupflegen, und auf das Logo wird auch noch ein Link gesetzt.

Die Article List Advanced kann man ja wunderbar konfigurieren, dass mir alle Elemente angezeigt werden,
aber die Tags gehen verloren.

Also hab ich mal die Anweisung "strip_tags" rausgenommen.
Jetzt wird mein Textfeld mit der URL auch richtig in der Liste angezeigt, der Link funktioniert.

ABER: Wie mach ich das bei dem Bild?
Was muß ich ändern, damit auch das Bild seinen Link behält?

Hier mal der Output des Moduls der Article List Advanced, die ich nutze:

Code: Alles auswählen

<?php
### Version mit korrigiertem GetImageSize Fehler
# Initialization
$bDebug     = false;
$iDataStart = 30;
$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]";
$aSettings["DateType"]           = "CMS_VALUE[97]";
$aSettings["Date"]               = "CMS_VALUE[98]";
$aSettings["Template"]           = "CMS_VALUE[99]";


# 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 * 10);
      $iElementIdentifier = $iElementType + 1;
      $iElementWidth      = $iElementType + 2;
      $iElementHeight     = $iElementType + 3;
      $iElementPadding    = $iElementType + 4;
      $iElementImgAlign   = $iElementType + 5;
      
      $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]";
      $aSettings["k".$i]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";
      $aSettings["k".$i]["ElementImgAlign"]= "CMS_VALUE[$iElementImgAlign]";

      # 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.pagetitle AS pagetitle, ARTLANG.summary AS summary, 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");
               # nachstehende Daten   Summary   eingefügt
               $aData[$i]["Summary"]           = $db2->f("summary");
               # nachstehende Daten   pagetitle  eingefügt
               $aData[$i]["Pagetitle"]           = $db2->f("pagetitle");

               $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]["ServerPath"]);
                                       $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
      # $aValue["Summary"]:          summary Zusammenfassung
      # $aValue["Pagetitle"]:          Seitentitel pagetitle
      #
      # 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


/* Init Template
*/

if (!is_object($tpl)) {
   $tpl = new Template;
}
$tpl->reset();

$tpl->set('s', 'TITLE', $newsheadline);

      foreach ($aData as $aValue) {
         echo '<div id="artlist">', chr(10);
         $artlist_headline = ''.$aValue["Headline"].'';
         $artlist_pagetitel = $aValue["Pagetitle"];
         $artlist_summary = $aValue["Summary"];
         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(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
                        } else {
                           $image = $aValue["i".$i]["WebPath"];
                           
                           $width  = $aValue["i".$i]["Width"];
                           $height = $aValue["i".$i]["Height"];
                        }
                     }
                     if ($image != "") {
#####
         $artlist_image = '<img src="'.$image.'" width="'.$width.'" height="'.$height.'" align="'.$aSettings["k".$i]["ElementImgAlign"].'" style="padding:'.$aSettings["k".$i]["ElementPadding"].';" />';
#####
                     }else $artlist_image ="";
                     
                     break;
                  default: // Everything else is treated as "Text"
                        if ($artlist_summary == "") {
                                $artlist_text =  $aValue["i".$i]["Value"];
                        } else {
                                $artlist_text = $artlist_summary;
                        }
                      #echo $artlist_text;
               }
            }
         }
        $artlist_more = '';
        echo '</div>', chr(10);

if("CMS_VALUE[97]"=="create")
{
    $tmp_artlist_Date = strtotime($aValue["Created"]);
}
else
{
    $tmp_artlist_Date = strtotime($aValue["Published"]);
}

    if("CMS_VALUE[98]"!="-1")
    {
        $artlist_lastmod = date('CMS_VALUE[98]', $tmp_artlist_Date);
        if(strlen($artlist_lastmod)>12)$artlist_lastmod=$artlist_lastmod." Uhr";
    }
    else
        $artlist_lastmod = "";
    


         
         $tpl->set('d', 'PAGETITEL', $artlist_pagetitel);
         $tpl->set('d', 'HEADLINE', $artlist_headline);
         $tpl->set('d', 'DATE', $artlist_lastmod);
         $tpl->set('d', 'IMG',  $artlist_image);
         $tpl->set('d', 'TEXT',  $artlist_text);
         $tpl->set('d', 'MORE', $artlist_more);

       $tpl->next();

      }
   }

$tpl->generate("CMS_VALUE[99]");


   # 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 style="text-align:center" 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(ceil($lCount / $aSettings["ArticlePerPage"]));
      $sPageLinks = '';

      echo '   <div style="text-align:center" 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: Seite 1 von 7 
      $iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
      $sPageLinks = '';

      echo '   <div style="text-align:center" id="Pages">';
      for ($i = 1; $i <= $iPages; $i++) {
         $lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
         if ($sPageLinks != '') {
            $sPageLinks .= '&nbsp;';
         }
         if ($_REQUEST["nextstep"] == $lNextStep) {
            $sPageLinks .= "Seite $i von $iPages\n"; # I'm on the current page, no link
         } 
      }
      echo '      '.$sPageLinks."\n";
      echo '   </div>'."\n";

##### Example: |< 1 ... 3 4 5 ... 8 >|

      $iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
     $sPageLinks = '';

      echo '   <div style="text-align:center" id="Pages">'."\n";
      echo '      <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep=0">'.mi18n("Begin").' |<</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"].'">>| '.mi18n("End").'</a>'."\n";
      echo '   </div>'."\n";

      echo '</div>'."\n"; # Closing Browsing div
   }
}
# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
?>
Also in Zeile 209 hab ich schon angepaßt:

Code: Alles auswählen

$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));

Code: Alles auswählen

$sTmpValue = html_entity_decode(urldecode($db2->f('headline')));
Ich weiß eben nur nicht, wie ich den Link, der auf dem Bild ist auch in die Liste übernehmen kann.

Als Bildmodul nutze ich das Standard-Bildmodul mit Link.
Sollte ich vielleicht das Bild ohne Modul einpflegen, also im WYSIWYG-Editor?

Für Anregungen bin ich dankbar.

D.
*********************************
Contenido-Konstruktionen von 4.2 bis 4.8.X
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Linkliste aus Article List Advanced

Beitrag von idea-tec »

man muss ab Zeile 268 angreifen:

Code: Alles auswählen

                                        $sTmpValue = urldecode($db3->f('value'));
       
                                        $regEx = "/<img[^>]*?>.*?/i";
                                        $match = array ();
                                        preg_match($regEx, $sTmpValue, $match);
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Gesperrt