[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Newsmodul inkl. optionalem Vorschaubild & Bildgalerie - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
SeB
Beiträge: 6
Registriert: 6. Mai 2008, 21:00

Newsmodul inkl. optionalem Vorschaubild & Bildgalerie

30. Mai 2008, 01:14

Hallo,

ich habe nun schon einige Zeit im Forum und im Download-Bereich gesucht, jedoch finde ich nicht das passende Artikelteaser-Modul.

In der Modulbeschreibung steht:
http://www.redaxo.de/165-Moduldetails.h ... ule_id=353
Zusammen mit dem Artikelteaser bekommt man damit recht einfach und effektiv eine Newssektion hin.
Welcher Artikelteaser ist hier gemeint, damit ich die Teaser wie auf der beschriebenen Seite hinbekomme? http://www.performancefabrik.de/neuigkeiten.html

Vielen Dank.

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

30. Mai 2008, 20:41

du kannst rein theoretisch irgendein teaser-modul nehmen und passt es per css an.
du musst dich nur an die vorgehensweise in der beschreibung des news-moduls halten.

gruss HarryT
spontanität will wohl überlegt sein!

Benutzeravatar
_DSP_
Beiträge: 123
Registriert: 18. Jul 2007, 11:29
Wohnort: Stuttgart
Kontaktdaten: Website

9. Jun 2008, 10:56

Hallo,

das Teaser-Modul, das ich bei auf der oben genannten Seite verwendet habe ist das hier (ist glaube ich sogar das Vorinstallierte von Redaxo):

Eingabe:

Code: Alles auswählen

<?php
//---MODULE MODIFIED BY------------------
//-- a-concept internet.studio
//-- Sven Albert-Pedersen
//-- www.a-concept.de / www.svenalbert.de
//-----------------------------------------------
//-- version 1.0
//-- date 23-mar-2006
//-----------------------------------------------
?>

<strong>Anzahl der Artikel pro Seite</strong><br />
<input name="VALUE[1]" value="REX_VALUE[1]" class="inp100" /><br />
<br />
<strong>Anzahl der Wörter pro Artikel</strong><br />
<input name="VALUE[2]" value="REX_VALUE[2]" class="inp100" /><br />


Ausgabe:

Code: Alles auswählen

<?php
//---MODULE MODIFIED BY------------------
//-- a-concept
//-- Sven Albert-Pedersen
//-- www.a-concept.de / www.svenalbert.de
//-----------------------------------------------


$itemsPerSide = "REX_VALUE[1]";
$wordsPerArticle = "REX_VALUE[2]";

// Nur im Frontend
//if (!$REX['REDAXO']):

// Sortierfunktion
if (!function_exists(sortArticlesByPrio)) {
 function sortArticlesByPrio( $artA, $artB) {
     $createA = $artA->_prior;
     $createB = $artB->_prior;

     if ( $createA == $createB) {
        return 0;
     }

     return $createA > $createB ? 1 : -1;
  }
}

$start = !empty($_GET['start']) ? (int) $_GET['start'] : 0; // Startitem
$offset = $itemsPerSide; // 10 Items pro Seite
$cats = array( REX_CATEGORY_ID); // alle Kategorien die Du "indizieren" willst

$articles = array();

foreach ( $cats as $catId) {
  $cat = OOCategory::getCategoryById( $catId);
 
  // CatIds die nicht funktionieren aussortieren
  if( $cat === null) {
     continue;
  }

  $cat_articles = $cat->getArticles( true);

  foreach ( $cat_articles as $ooarticle) {
     // keine Startartikel anzeigen
    if ( $ooarticle->isStartPage()) {
       continue;
     }

     // Damit keine Endlosschleife passiert, den Artikel der die Pagination setzt überspringen
     if ( $ooarticle->getId() == REX_ARTICLE_ID) {
        continue;
     }
     $articles[] = $ooarticle;
  }
}

$articles_length = count( $articles);

// Sortieren nach Erstellungsdatum


$article_list = array_slice( $articles, $start, $offset);

foreach ( $article_list as $ooarticle) {
   
   if ($ooarticle->isOnline(true)) {
      $articleId = $ooarticle->getId();

      $article = new article();
      $article->setArticleId( $articleId);
      $articleContent = $article->getArticle();
   
      // Leerzeichen entfernen am Anfang und Ende des Strings
      $articleContent = trim($articleContent);
     
      // Leerzeichen vor </p> einfuegen.
      // Sonst wird das letzte Wort eines Absatzes und das erste Wort
      // des nachfolgenden Absatzes als ein Wort erkannt
      $articleContent = str_replace("</p>", " </p>", $articleContent);
     
      // Leerzeichen vor <br /> einfuegen.
      // Sonst wird das letzte Wort einer Zeile und das erste Wort
      // des nachfolgenden Zeile als ein Wort erkannt
      $articleContent = str_replace("<br />", " <br />", $articleContent);

      $output = "";
      $words = explode(" ",$articleContent);
      $wordsCount = count($words);
   
      if ($wordsCount < $wordsPerArticle) $wEnd = $wordsCount;
      else  $wEnd = $wordsPerArticle;
           
      for ($w=0;$w<$wEnd;$w++) {
         $output .= $words[$w]." ";
      }
     
      // Leerzeichen entfernen am Anfang und Ende des Strings   
      $output = trim($output);
   
      $isCloseParagraph = substr($output,-4);
      $link = ' [...] <p><a href="'.rex_getUrl($articleId).'">... weiterlesen &raquo;</a></p> ';
      $newString = $link.'</p>';
   
   
      if ($isCloseParagraph == '</p>') {
         $output = substr_replace($output,$newString,-4);
      }
      else {
         $output .= $newString;
      }
     
      // opened & closed DIVs zählen und ggf. closing Tags ergänzen
      // ----------------------------------------------------------
      // MODIFIED by Sven Albert-Pedersen * alfa-x (at) web (dot) de

      $openedDIVs = substr_count($output, '<div');
      $closedDIVs = substr_count($output, '</div>');
      $countmissingDIVs = $openedDIVs - $closedDIVs;
     
      if ($openedDIVs > $closedDIVs) {
          while ($countmissingDIVs > 0):
              $output .= "</div>";
              $countmissingDIVs = $countmissingDIVs - 1;
          endwhile;
      }
      // ----------------------------------------------------------
      // END MODIFICATION

      print '<p><div class="news">'.$output.'</div></p>';
   }
}

$prevStart = $start - $offset;
if ( $prevStart < 0)
{
   $prevStart = '';
}

$nextStart = $start + $offset;
if ( $nextStart >= $articles_length)
{
   $nextStart = '';
}

$link_format = '<a href="index.php?article_id=REX_ARTICLE_ID&start=%s">%s</a>';

// Vorherige Seite Link
if ( $prevStart !== '') {
  $backLink = sprintf( $link_format, $prevStart, '<< vorherige Seite');
}

// Nächste Seite
if ( $nextStart !== '') {
  $nextLink = sprintf( $link_format, $nextStart, 'n&auml;chste Seite >>');
}

if ($backLink != "" AND $nextLink != "") {
   print '<div class="teaserNav"><p>'.$backLink.'&nbsp;|&nbsp;'.$nextLink.'</p></div>';
}
elseif ($nextLink != "") {
   print '<div class="teaserNav"><p>'.$nextLink.'</p></div>';
}
elseif ($backLink != "") {
   print '<div class="teaserNav"><p>'.$backLink.'</p></div>';
}

//endif;

?>
Gruss,

Daniel

Zurück zu „Allgemeines [R4]“