News Modul von Andreas Lindner zwei mal einsetzen

Gesperrt
casi1969
Beiträge: 71
Registriert: Mi 4. Aug 2004, 16:30
Wohnort: Köln
Kontaktdaten:

News Modul von Andreas Lindner zwei mal einsetzen

Beitrag von casi1969 »

Hallo,

ich möchte das News Modul von Andreas Lindner (s.u.) zwei mal im gleichen Template einsetzen. Bei anderen Modulen musste dafür nur eine bestimmte Variable verändert werden. Wie kann man das hier realisieren?

Code: Alles auswählen

<?php


/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     News
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modified    :     Clemens Koch, OWLweb (added page & browsing support),
* Date        :     22.08.2006
************************************************/

cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');

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

$aperpage = "CMS_VALUE[20]";
if ("CMS_VALUE[21]" != "") {
   $browse = true;
} else {
   $browse = false;
}

if ($aperpage == '') {
   $aperpage = 1000;
}

$pages = 0;

if (!isset ($_GET["p"])) {
   $page = 1;
} else {
   $page = $_GET["p"];
}
$tpl->reset();

$sql = "SELECT
            htmlpath, frontendpath
        FROM
            ".$cfg["tab"]["clients"]."
        WHERE
            idclient = ".$client." ";

$db->query($sql);

if ($db->next_record()) {
   $htmlpath = $db->f('htmlpath');
   $frontendpath = $db->f('frontendpath');
}

// selected category
$selcat = "CMS_VALUE[1]";
//echo "sel $selcat<br>";
$template = "teaser-standard.html";
//echo "tpl $template<br>";
// anzahl der zeichen text
$mxtext = 200;

$limit = "CMS_VALUE[15]";

$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
   $cms_sort_direction = 'desc';
}

if ("CMS_VALUE[3]" == "sortdate") {
   $order = 'lastmodified';
} else {
   $order = 'artsort';
}

$newsheadline = "CMS_VALUE[4]";

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

if (strlen($selcat) > 0 AND $selcat != '0') {
   $options = array ('idcat' => $selcat, "start" => false, "order" => $order, "direction" => $cms_sort_direction);

   $list = new ArticleCollection($options);

   $count = $list->count;

   if ($count > 0) {
      if (is_numeric($limit) AND strlen($limit) > 0) {
         if ($limit < $list->count) {
            $limit_art = $limit;
         } else {
            $limit_art = $list->count;
         }
      } else {
         $limit_art = $list->count;
      }

      for ($i = 0; $i < $limit_art; $i ++) {

         if (($i % $aperpage) == 0) {
            $pages = $pages +1;
         }

         $article = $list->nextArticle();
         if ($pages == $page) {
            $article_id = $article->getField('idart');

            $teaser_img = '';
            if ($noimg != 'true') {
               $text_html = $article->getContent('CMS_HTML', 1);

               $regEx = "/<img[^>]*?>.*?/i";
               $match = array ();
               preg_match($regEx, $text_html, $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);
               $img_split = preg_split("/\./", $img_name);
               $img_type = $img_split[count($img_split) - 1];

               $img_split2 = preg_split("/_/", $img_split[0]);

               $name = $img_name;

               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}";
                  }
               }

               $img_teaser = '';

               if (strlen($name) > 0) {
                  $sql = "SELECT
                                                                                                                                                                                                          *
                                                                                                                                                                                                      FROM
                                                                                                                                                                                                          ".$cfg["tab"]["upl"]."
                                                                                                                                                                                                      WHERE
                                                                                                                                                                                                          filename REGEXP '$name' ";

                  //echo "<pre>"; print_r($sql); echo "</pre>";

                  $db->query($sql);

                  if ($db->next_record()) {
                     $filename = $db->f('filename');
                     $dirname = $db->f('dirname');
                  }

                  $img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;

                  $img_size = "CMS_VALUE[14]";

                  $img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
               } // end if strlen

               if (strlen($img_teaser) > 0) {
                  $teaser_img = '<img src="'.$img_teaser.'" alt="" />';
               } else {
                  $teaser_img = '';
               }

            } // end if noimg       

            $headline = strip_tags($article->getContent('CMS_HTMLHEAD', 1));
            $headline = str_replace($replace, " ", $headline);

            /*            $subheadline = strip_tags($article->getContent('CMS_HTMLHEAD', 2));
                        $subheadline = str_replace($replace, " ", $subheadline);*/

            $teaserheadline = /*$subheadline."&nbsp;-&nbsp;".*/
            $headline;
            $href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
            $teasertext = $article->getField('summary');

            if (strlen(trim($teasertext)) == 0) {
               $teasertext = strip_tags($article->getContent('CMS_HTML', 1));
               $teasertext2 = $teasertext;
               $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
               if ($teasertext != $teasertext2) {
                  $teasertext .= '...';
               }

            } // end if             
            $teasertext = $teasertext."&nbsp;".$next;

            $tpl->set('d', 'HEADLINE', $teaserheadline);
            $tpl->set('d', 'TEXT', $teasertext);
            $tpl->set('d', 'HREF', $href);
            $tpl->set('d', 'IMG', $teaser_img);
            $tpl->set('d', 'MORE', mi18n("mehr"));

            $tpl->next();
         }
      } // end for

      $tpl->generate('templates/'.$template);
      $selcat = $_GET["idcat"];
      if ($pages != 1) {
         $prev = $page -1;
         $next = $page +1;
         echo "<div class=\"newsnavi\">";
         if ($page > 1 && $browse) {
            $href = $sess->url("front_content.php?idcat=$selcat&p=$prev");
            echo "<a href=\"".$href."\">zur&uuml;ck</a>";
         }
         for ($j = 1; $j < $pages +1; $j ++) {
            $href = $sess->url("front_content.php?idcat=$selcat&p=$j");
            if ($j == $page) {
               echo "[<strong>".$j."</strong>]";
            } else {
               echo "[<a href=\"".$href."\">".$j."</a>]";
            }
         }
         echo "";
         if (($pages - $page) != 0 && $browse) {
            $href = $sess->url("front_content.php?idcat=$selcat&p=$next");
            echo "<a href=\"".$href."\">vor</a>";
         }
         echo "</div>";

      }
   }
}
?> 
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hmm...
durch und

Code: Alles auswählen

$_GET["p"]
durch

Code: Alles auswählen

$_GET["p2"] 
ersetzen..., sollte gehen...
*** make your own tools (wishlist :: thx)
casi1969
Beiträge: 71
Registriert: Mi 4. Aug 2004, 16:30
Wohnort: Köln
Kontaktdaten:

Beitrag von casi1969 »

Vielen Dank emergence!

Das klappt prima, mit den Änderungen kann man die Listen getrennt navigieren, nur wenn man bei den Veranstaltungen die zweite Seite ausgewählt hat und bei den Terminen wechsel will springen die Veranstaltungen zurück auf die erste Seite.

Und nach den ... am Ende des Teasers "Termine" eine 2 oder 3 angezeigt, je nachdem welche News man bei den Veranstaltungen aufruft. http://www.ganztag-blk.de/cms/front_con ... cat=9&p2=2

Wo kommen die Zahlen her?
casi1969
Beiträge: 71
Registriert: Mi 4. Aug 2004, 16:30
Wohnort: Köln
Kontaktdaten:

Beitrag von casi1969 »

Hat keiner eine Idee, was man noch ändern müsste, damit beide News-Spalten unabhängig voneinanden funktionieren?

Wäre für jeden Tipp dankbar.
Gesperrt