[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Vorschau von Artikeln wie bei Newsseiten oder Blogs - 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/
Benutzeravatar
pinguSTAR
Beiträge: 107
Registriert: 11. Nov 2009, 14:01
Wohnort: Gundelfingen
Kontaktdaten: Website

Vorschau von Artikeln wie bei Newsseiten oder Blogs

17. Nov 2009, 21:14

hallo zusammen,

ich würde gerne aus meiner Startseite, eine "News" seite machen. so, das ich dann eine kleine vorschau von jedem artikel auf der startseite sehe. bestehend aus: Überschrift, bild und ca 100 Zeichen des artikel textes.

in etwas wie bei der demo der punkt Kategorienliste und eben als artikelliste formatiert.

ich hab schon versucht das artikellisten modul anzupassen. finde es aber nicht wirklich gelungen. nun wollte ich fragen wie ihr das umgesetzt habt.

danke und grüße
pingu
Mess with the best, die like the rest!

jackomono
Beiträge: 194
Registriert: 15. Apr 2007, 18:32
Wohnort: Hamburg
Kontaktdaten: Website

17. Nov 2009, 22:37

Hallo Pingu,

hast Du mal im Dowloadbereich nachgeschaut?
z.B.: http://www.redaxo.de/165-0-moduldetails ... ule_id=459

Gruß
Jakob

Benutzeravatar
pinguSTAR
Beiträge: 107
Registriert: 11. Nov 2009, 14:01
Wohnort: Gundelfingen
Kontaktdaten: Website

18. Nov 2009, 16:55

danke, soweit sieht das ganz gut aus :)

nur probiere ich schon den ganzen tag ein bild links vom text einzufügen. undzwar, das welches ich mit dem text und bild modul auf den artikel bringen lasse.
Mess with the best, die like the rest!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

19. Nov 2009, 10:24

Hi pinguSTAR!
pinguSTAR hat geschrieben:nur probiere ich schon den ganzen tag ein bild links vom text einzufügen. undzwar, das welches ich mit dem text und bild modul auf den artikel bringen lasse.
Um das Bild dieses Moduls auszugeben, musst du folgenden Code vor der Zeile 308 (if($medium)) einfügen:

Code: Alles auswählen

if(is_object($imgSlice = OOArticleSlice::getSlicesForArticleOfType($article->getId(), MODUL_TEXTMITBILD_ID, REX_CLANG_ID)))
{
	$medium = OOMedia::getMediaByFileName($imgSlice->getMedia(REX_MEDIA_BUTTON_ID));
}
Du musst nur für die Platzhalter MODUL_TEXTMITBILD_ID und REX_MEDIA_BUTTON_ID die entsprechenden IDs einfügen.
MODUL_TEXTMITBILD_ID: die Modul-ID des Text-mit-Bild-Moduls
REX_MEDIA_BUTTON_ID: die ID die für den im Text-mit-Bild-Modul verwendeten REX_MEDIA_BUTTON (also die Zahl, die in eckigen Klammern steht)

Wenn du übrigens eine Teaser haben möchtest, der nicht mitten im Wort abschneidet, kannst du folgende Funktion verwenden und in das Modul einbauen:

Code: Alles auswählen

if(!function_exists('getTeaserText'))
{
	function getTeaserText($_text, $_maxCharCount)
	{
		$tags = '~<(address|blockquote|center|del|dir|div|dl|fieldset|form|h1-6|hr|ins|isindex|menu|noframes|noscript|ol|p|pre|table|ul)[^>]+>~si';
    $_text = trim(strip_tags(preg_replace(array('~<head.+?</head>~si', $tags,'~[\n\r]+~si','~[\t ]+~si'), array('',"\n","\n",' '), $_text)));
		$i = 0;
		$textArray = preg_split('~\s+~si', $_text, $_maxCharCount);
		
		$return = '';
		$aborted = false;
		foreach($textArray as $word)
		{
			if((($strlen = strlen($word)) + $i) > $_maxCharCount)
			{ $aborted = true;
				break;
			}
			
			$return .= $word.' ';
			$i += $strlen + 1;
		}
		
		if($aborted)
			$return .= '…';
		
		return $return;
	}
}
Dann noch den entsprechenden Aufruf ändern (im Originalmodul Zeile 335):

Code: Alles auswählen

$body_slice = getTeaserText($body_slice, $ArticlePreviewCount).' '.$link_readMore;
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

19. Nov 2009, 10:25

... und das fertige Modul dann hier posten :D
- Danke für Redaxo! -
http://www.prenzlweb.de

Benutzeravatar
pinguSTAR
Beiträge: 107
Registriert: 11. Nov 2009, 14:01
Wohnort: Gundelfingen
Kontaktdaten: Website

19. Nov 2009, 19:49

Xong hat geschrieben:Hi pinguSTAR!
hi Xong,

du bist echt genial :) hat super geklappt. hat zwar etwas gedauert. aber nun hab ich eine schicke news anzeige mit bild :) die wörter im teaser werden auch nicht mehr abgeschnitten.

das einzige was mich noch stört, ist, das er irgendwo diese auslassungspunkte erstellt und ich nicht finde wo.

hier für alle die module:

modul eingabe:

Code: Alles auswählen

<?php
/**
 *===============================
 * Modul: News-System
 * Bereich: Eingabe
 * Version: 1.0
 * Redaxo Version: 4.2
 * 
 * Features:
 *  - Wahlweise Onlinestatus Artikel
 *  - Wahlweise Onlinestatus Kategorien
 *  - Wahlweise Erstelldatum
 *  - Wahlweise Verfasser/Autor
 *  - Auswahl Subkategorien
 *  - Auswahl eigene Kategroie
 *  - Angabe der Artikelvorschaulänge
 *  - Anzeige des Metafile/Bildes
 *  - Sortierung nach
 *  -  - Erstell Datum
 *  -  - Update Datum
 *  -  - Name
 *  -  - Priorität
 *  - Debugging
 *
 * Erstellt von:
 *
 * Jan Menzel
 * www.arche-netvision.de
 * jan.menzel ( at ) arche-netvision.de
 * Datum: 08.07.2009
 *
 *===============================
 */

//CSS für die Moduleingabe
 echo('
 <style type="text/css">
    .ns_section
    {
        float: left; 
        width: 100%; 
        border-bottom: 1px solid lightgrey;
        margin-top: 5px;
        margin-right: 5px;
        padding-bottom: 10px;
    }
    
    .ns_block
    {
        float:left;
        width: 350px;
    }
    
    .ns_headline
    {
        font-weight: bold;
        margin-bottom: 5px;
        width: auto;
    }
    
    input
    {
        margin-top: 7px;
    }
</style>

 ');

$value1 = explode("~~","REX_VALUE[1]");

echo('<div class="ns_section">');
    echo('<div class="ns_block">');
        echo('<span class="ns_headline">W&auml;hlen Sie die Unterkategorien aus, aus denen die Newsartikel angezeigt werden sollen</span>');
        echo('<br />');
        echo('<span>');
        
            $select = new select();
            $select->set_name('VALUE[1][]');
            $select->multiple(true);

            foreach(OOCategory::getChildrenById("REX_CATEGORY_ID", false, false) AS $category)
            {
                $select->add_option($category->getName(), $category->getId());
                
                if(in_array($category->getId(), $value1))
                {
                    $select->set_selected($category->getId()); 
                }
            }

            echo($select->out()); 
        echo('</span>');
        echo('<br style="clear:both;" />');
        echo('<span>');
            echo('<label style="width:auto; margin-right: 15px;" for="chk_ownCat">Eigene Kategorie mit einbeziehen</label>');
            
            if("REX_VALUE[6]" == "on" || "REX_VALUE[6]" == "On" || "REX_VALUE[6]" == 1)
            {
                echo('<input type="checkbox" checked="checked" id="chk_ownCat" name="VALUE[6]">');
            }
            else
            {
                echo('<input type="checkbox" id="chk_ownCat" name="VALUE[6]">');
            }
        echo('</span>');
    echo('</div>');


    echo('<div class="ns_block">');

        echo('<span class="ns_headline">Online / Offline - Status ber&uuml;cksichtigen?</span>');    

        echo('<span style="float:left; width:200px;">');
        
        if("REX_VALUE[2]" == "on" || "REX_VALUE[2]" == "On" || "REX_VALUE[2]" == 1)
        {
            echo('<input type="checkbox" checked="checked" name="VALUE[2]" id="cat_online">');
        }
        else
        {
            echo('<input type="checkbox" name="VALUE[2]" id="cat_online">');
        }
            echo('<label for="cat_online">Kategorien</label>');
        echo('</span>');

        echo('<span style="float:left; width:200px;">');
       
            if("REX_VALUE[3]" == "on" || "REX_VALUE[3]" == "On" || "REX_VALUE[3]" == 1)
            {
                echo('<input type="checkbox" checked="checked" name="VALUE[3]" id="art_online">');
            }
            else
            {
                echo('<input type="checkbox" name="VALUE[3]" id="art_online">');
            }
            echo('<label for="art_online">Artikel</label>');
        echo('</span>');

    echo('</div>');

echo('</div>');

echo('<br style="clear:both" />');
echo('<br />');

echo('<div class="ns_section">');

        echo('<span class="ns_headline">Anzahl der Zeichen, die von einem News-Artikel angezeigt werden sollen:</span>');
        echo('<br />');
        echo('<input name="VALUE[4]" value="REX_VALUE[4]" />');
        echo('<br style="clear:both" />');
        echo('<span>');
            if("REX_VALUE[8]" == "on" || "REX_VALUE[8]" == "On" || "REX_VALUE[8]" == 1)
            {
                echo('<input type="checkbox" checked="checked" id="chk_useCreated" name="VALUE[8]">');
            }
            else
            {
                echo('<input type="checkbox" id="chk_useCreated" name="VALUE[8]">');
            }
            echo('<label style="width:150px; margin-right: 15px;" for="chk_useCreated">Erstelldatum anzeigen</label>');
        echo('</span>');
        echo('<br style="clear:both" />');
        echo('<span>');
            if("REX_VALUE[9]" == "on" || "REX_VALUE[9]" == "On" || "REX_VALUE[9]" == 1)
            {
                echo('<input type="checkbox" checked="checked" id="chk_useCreatedBy" name="VALUE[9]">');
            }
            else
            {
                echo('<input type="checkbox" id="chk_useCreatedBy" name="VALUE[9]">');
            }
            echo('<label style="width:150px; margin-right: 15px;" for="chk_useCreatedBy">Verfasser anzeigen</label>');
        echo('</span>');

echo('</div>');

echo('<br style="clear:both" />');

echo('<div class="ns_section">');
        echo('<span class="ns_headline"><label style="width:auto;" for="select_sort">Sortierung der News-Artikel:</label></span>');
        echo('<br style="clear:both" />');
            echo('<select name="VALUE[5]" id="select_sort">');
                  foreach (array("Priorität" => "Prio","Name" => "Name","Erstell Datum" => "CreateDate","Update Datum" => "UpdateDate") AS $key => $value) 
                  {
                        echo ('<option value="'.$value.'" ');
                        if ("REX_VALUE[5]"=="$value" ) 
                        {
                            echo ('selected="selected" ');
                        }
                        echo ('>'.$key.'</option>');
                  }
            echo('</select>');

echo('</div>');

echo("Debugging :<br />");
$select = new select();
$select->set_name('VALUE[7]');
$select->setsize('0');

foreach(array('Anschalten' => 1, 'Ausschalten' => 0) AS $value => $key)
{
    $select->add_option($value, $key);

    if("REX_VALUE[7]" == $key)
    {
        $select->set_selected($key); 
    }
}
echo($select->out()); 


?>
und die ausgabe:

Code: Alles auswählen

<?php
/**
 *===============================
 * Modul: News-System
 * Bereich: Ausgabe
 * Version: 1.0
 * Redaxo Version: 4.2
 * 
 * Features:
 *  - Wahlweise Onlinestatus Artikel
 *  - Wahlweise Onlinestatus Kategorien
 *  - Wahlweise Erstelldatum
 *  - Wahlweise Verfasser/Autor
 *  - Auswahl Subkategorien
 *  - Auswahl eigene Kategroie
 *  - Angabe der Artikelvorschaulänge
 *  - Anzeige des Metafile/Bildes
 *  - Sortierung nach
 *  -  - Erstell Datum
 *  -  - Update Datum
 *  -  - Name
 *  -  - Priorität
 *  - Debugging
 *
 * Erstellt von:
 *
 * Jan Menzel
 * www.arche-netvision.de
 * jan.menzel ( at ) arche-netvision.de
 * Datum: 08.07.2009
 *
 *===============================
 */

$debug = (bool)"REX_VALUE[7]";
$Categories = explode("~~","REX_VALUE[1]");
$OnlineCategory = "REX_VALUE[2]";
$OnlineArticel = "REX_VALUE[3]";
$ArticlePreviewCount = "REX_VALUE[4]";
$SortBy = "REX_VALUE[5]";
$UseOwnCat = "REX_VALUE[6]";
$ShowCreated ="REX_VALUE[8]";
$ShowCreatedBy = "REX_VALUE[9]";

if($UseOwnCat == "On" || $UseOwnCat == "on" || $UseOwnCat == 1)
{
    $tmp_article = OOArticle::getArticleById("REX_ARTICLE_ID");
    $tmp_cat_id = $tmp_article->getCategoryId();
    
    if($tmp_cat_id)
    {
        $Categories[] = $tmp_cat_id;
    }
}

if($debug)
{
    echo("<br />Debugging: ".$debug);
    echo("<br />Anzahl Kategorien: ".sizeof($Categories));
    echo("<br />Übergebene Kategorien: REX_VALUE[1] <br />");
    echo("<pre>Werde folgende Kategorien Überprüfen<br />");
    print_r($Categories);
    echo("</pre>");
    echo("<br />Online Artikel: ".$OnlineArticel);
    echo("<br />Online Kategorien: ".$OnlineCategory);
    echo("<br />Artikel Vorschau: ".$ArticlePreviewCount);
    echo("<br />Sortieren nach: ".$SortBy );
    echo("<br />");
}

// Sortieren nach Priorität
// siehe http://wiki.redaxo.de/index.php?n=R3.Sortierm%f6glichkeiten
if (!function_exists('sortArticlesByPrio')) { function sortArticlesByPrio( $artA, $artB) { $prioA = $artA->getPriority(); $prioB = $artB->getPriority(); if ( $prioA == $prioB) { return 0; } return $prioA < $prioB ? -1 : 1; } }

// Sortieren nach ErstellDatum
// siehe http://wiki.redaxo.de/index.php?n=R3.Sortierm%f6glichkeiten
if(!function_exists('sortArticlesByCreateDate')) { function sortArticlesByCreateDate( $artA, $artB) { $createA = $artA->getCreateDate(); $createB = $artB->getCreateDate(); if ( $createA == $createB) { return 0; } return $createA > $createB ? -1 : 1; } }

// Sortieren nach UpdateDatum
// siehe http://wiki.redaxo.de/index.php?n=R3.Sortierm%f6glichkeiten
if(!function_exists('sortArticlesByUpdateDate')) { function sortArticlesByUpdateDate( $artA, $artB) { $updateA = $artA->getUpdateDate(); $updateB = $artB->getUpdateDate(); if ( $updateA == $updateB) { return 0; } return $updateA > $updateB ? -1 : 1; } }

// Sortieren nach Name
// siehe http://wiki.redaxo.de/index.php?n=R3.Sortierm%f6glichkeiten
if(!function_exists('sortArticlesByName')) { function sortArticlesByName( $artA, $artB) { $nameA = $artA->getName(); $nameB = $artB->getName(); if ( $nameA == $nameB) { return 0; } $names = array($nameA,$nameB); sort( $names, SORT_STRING); return $names[0] == $nameA ? -1 : 1; } }

function checkOnlineTime($ooarticel)
{
    $online_from = $ooarticel->getValue('art_online_from');
    $online_to = $ooarticel->getValue('art_online_to');
    $akt_date = time();
    
    if(strlen($online_from) == 0 && strlen($online_to) == 0)
    {
        return true;
    }
    //Prüfen, ob Zeitraum eingestellt wurde
    if(strlen($online_from) > 0 && strlen($online_to) > 0)
    {
        if($akt_date > $online_from && $akt_date < $online_to)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    elseif(strlen($online_from) > 0 && strlen($online_to) == 0)
    {
        if($akt_date < $online_from)
        {
            return false;
        }
    }
    else
    {
        if($akt_date > $online_to)
        {
            return false;
        }
    }
    return true;
}

// Kategorien validieren
foreach($Categories AS $cat)
{
    if($debug)
    {
        echo("<br />Validiere Kategorie ".$cat);
    }
    
    $category = OOCategory::getCategoryById($cat, false);
    if(OOCategory::isValid($category))
    {
        if($OnlineCategory == "On" || $OnlineCategory == "on" || $OnlineCategory == 1)
        {
            if($debug)
            {
                echo("<br />Da OnlineCategory, prüfe ich ob Kategorie Online");
            }
            
            if($category->isOnline())
            {
                $validCategories[] = $category->getId();
                if($debug)
                {
                    echo("<br />".$category->getId()." ist Online");
                }
            }
        }
        else
        {
            if($debug)
            {
                echo("<br />Da nicht OnlineCategory, übernehme ich");
            }
            $validCategories[] = $category->getId();
        }
    }
}

if($debug)
{
    echo("<br />");
}

if(sizeof($validCategories) > 0)
{
    // Artikel validieren
    foreach($validCategories AS $cat)
    {
        if($debug)
        {
            echo("<br />Validiere Artikel für Kategorie ".$cat);
        }
        
        $category = OOCategory::getCategoryById($cat, false);
        if($OnlineArticel == "On" || $OnlineArticel == "on" || $OnlineArticel == 1)
        {
            if($debug)
            {
                echo("<br />Da OnlineArticel, hole alle Artikel die Online sind");
            }
            
            foreach($category->getArticles(true) AS $article)
            {
                if($debug)
                {
                    echo("<br />-->Habe Artikel ".$article->getId()." gefunden, prüfe weiter");
                }
                
                if($article->isStartArticle())
                {
                    if($debug)
                    {
                        echo("<br />Artikel ".$article->getId()." ist ein Startartikel - ignorieren");
                    }
                    continue;
                }
                
                if(!checkOnlineTime($article))
                {
                    if($debug)
                    {
                        echo("<br />Artikel ".$article->getId()." ist vom Onlinestatus beschränkt - ignorieren");
                    }
                    continue;
                }
                
                if($article->getId() == "REX_ARTICLE_ID")
                {
                    if($debug)
                    {
                        echo("<br />Artikel ".$article->getId()." das bin ja ich?! - ignorieren");
                    }
                    continue;
                }
                
                if($debug)
                {
                    echo("<br />Artikel ".$article->getId()." ist validiert! - Übernehme");
                }
                $articles[] = $article;
            }
        }
        else
        {
            if($debug)
            {
                echo("<br />Da nicht OnlineArticel, hole alle Artikel");
            }
            
            foreach($category->getArticles(false) AS $article)
            {
                if($debug)
                {
                    echo("<br />Habe Artikel ".$article->getId()." gefunden, prüfe weiter");
                }
                
                if($article->isStartArticle())
                {
                    if($debug)
                    {
                        echo("<br />Artikel ".$article->getId()." ist ein Startartikel - ignorieren");
                    }
                    continue;
                }
                
                if(!checkOnlineTime($article))
                {
                    if($debug)
                    {
                        echo("<br />Artikel ".$article->getId()." ist vom Onlinestatus beschränkt - ignorieren");
                    }
                    continue;
                }
                
                if($article->getId() == "REX_ARTICLE_ID")
                {
                    if($debug)
                    {
                        echo("<br />Artikel ".$article->getId()." das bin ja ich?! - ignorieren");
                    }
                    continue;
                }
                
                if($debug)
                {
                    echo("<br />Artikel ".$article->getId()." ist validiert! - Übernehme");
                }
                $articles[] = $article;
            }
        }
    }
}
else
{
    if($debug)
    {
        echo("Keine Artikel -> Keine News!");
    }
}

if(!function_exists('getTeaserText')) 
{ 
   function getTeaserText($_text, $_maxCharCount) 
   { 
      $tags = '~<(address|blockquote|center|del|dir|div|dl|fieldset|form|h1-6|hr|ins|isindex|menu|noframes|noscript|ol|p|pre|table|ul)[^>]+>~si';
    $_text = trim(strip_tags(preg_replace(array('~<head.+?</head>~si', $tags,'~[\n\r]+~si','~[\t ]+~si'), array('',"\n","\n",' '), $_text))); 
      $i = 0; 
      $textArray = preg_split('~\s+~si', $_text, $_maxCharCount); 
       
      $return = ''; 
      $aborted = false; 
      foreach($textArray as $word) 
      { 
         if((($strlen = strlen($word)) + $i) > $_maxCharCount) 
         { $aborted = true; 
            break; 
         } 
          
         $return .= $word.' '; 
         $i += $strlen + 1; 
      } 
       
      if($aborted) 
         $return .= '…'; 
       
      return $return; 
   } 
}

// bis hier

if($debug)
{
    echo("<br />");
}

if(sizeof($articles) > 0)
{
    // Sortierfunktion aufrufen
    usort($articles, 'sortArticlesBy'.$SortBy);

    //Atikel ausgeben
    foreach($articles AS $article)
    {
        try{
            $category = $article->getCategory();
            $cat_name = $category->getName();
            $slice = OOArticleSlice::getFirstSliceForArticle($article->getId(), false);
            $link_more = '<a href="'.rex_getUrl($article->getId()).'" class="ns_Link"> mehr</a>';
            $medium = OOMedia::getMediaByFileName($article->getValue('art_file'));
            $CreatedBy = $article->getCreateUser();
            
            if(is_object($imgSlice = OOArticleSlice::getSlicesForArticleOfType($article->getId(), 5, REX_CLANG_ID))) 
				{ 
  					 $medium = OOMedia::getMediaByFileName($imgSlice->getMedia(1)); 
				}
            
            //Metafile/Bild prüfen
            if($medium)
            {
                $image = $medium->toImage(array('class' => 'ns_Image', 'resize' => '', 'width' => '130'));
            }
            else
            {
                $image = "";
            }
            
            //Den ersten Slice Prüfen
            if($slice)
            {
                $slice_head = $slice->getValue(1);
                $body_slice = $slice->getNextSlice();
            }
            else
            {
                $slice_head = "";
            }
            
            //Den zweiten Slice Prüfen
            if($body_slice)
            {
            
            
            
                $body_slice = $body_slice->getValue(1);
                
                if(strlen($body_slice) > $ArticlePreviewCount)
                {
                	$body_slice = getTeaserText($body_slice, $ArticlePreviewCount).' '.$link_readMore;
                   // $body_slice = substr($body_slice, 0, $ArticlePreviewCount)." ".$link_readMore;
                }
            }
            else
            {
                $body_slice = "";
            }
            
            //Prüfen ob Createdate angezeigt werden soll
            if($ShowCreated == "On" || $ShowCreated == "on" || $ShowCreated == 1)
            {
                $Created = date('d.m.Y H:i', $article->getCreateDate())." Uhr";
            }
            else
            {
                $Created = "";
            }
            
            //Prüfen ob CreateUser angezeigt werden soll
            if($ShowCreatedBy == "On" || $ShowCreatedBy == "on" || $ShowCreatedBy == 1)
            {
                $CreatedBy = $article->getCreateUser();
            }
            else
            {
                $CreatedBy = "";
            }
            
            echo('<div id="news"><span class="ns_newsEntry">
                    <span class="ns_newsHeadline">
                        <span class="ns_HeadlineLeft">
                            '.$slice_head.'
                        </span>
                        
                    </span>
                    <span class="ns_body">
                        <span class="ns_created">
                            - '.$Created.'
                            <br>
                        </span>
                        <span class="ns_createdBy">
                            '.$CreatedBy.'
                        </span>
                    </span>
                    <span class="ns_Body">
                        '.$image.'
                        '.$body_slice.'
                    </span>

                    <span class="ns_MoreLink">
                        '.$link_more.'
                         <br><br>
                    </span>
                  </span>
</div>
            ');
        }
        catch(Exception $ex)
        {
            echo("Fehler in Newseintrag");
        }
    }
}
else
{
    echo("<br />");
    echo("<strong>Keine News Einträge vorhanden</strong>");
}
?>
vielen dank nochmals!

und falls jemand findet wo dieses zeichen mit den 3 punkten (...) her kommt, lassts mich wissen ;)
Mess with the best, die like the rest!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

19. Nov 2009, 21:43

pinguSTAR hat geschrieben:und falls jemand findet wo dieses zeichen mit den 3 punkten (...) her kommt, lassts mich wissen ;)
Die HTML-Entität sieht so aus: &#x2026;
Sieht dann so aus:

In der Modulausgabe ist die Ellipse in Zeile 309 zu finden.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

dejay
Beiträge: 1
Registriert: 9. Dez 2009, 15:35

Fehler

9. Dez 2009, 21:44

Hallo erstmal,

ich habe gerade versucht, das Modul zu erstellen und einzubinden. Bis zur Eingabemaske funktioniert es auch. Wenn ich dann aber den Artikel abspeichere kommt folgende Meldung:

Parse error: syntax error, unexpected '{' in /homepages/46/d72383007/htdocs/redaxo/include/classes/class.rex_article.inc.php(671) : eval()'d code on line 374


Was habe ich falsch gemacht?

Benutzeravatar
washy
Beiträge: 21
Registriert: 12. Aug 2008, 16:56
Wohnort: Holzhausen an der Haide
Kontaktdaten: ICQ Yahoo Messenger

Re: Fehler

11. Dez 2009, 15:22

Hallo zusammen,

ich würde das Modul gerne testen.
Leider habe ich jedoch die gleich Fehlermeldung wie dejay
dejay hat geschrieben: Parse error: syntax error, unexpected '{' in /homepages/46/d72383007/htdocs/redaxo/include/classes/class.rex_article.inc.php(671) : eval()'d code on line 374
In der Modulbeschreibung ist noch ein Hinweis auf:
Presave-Action für Add und Edit:

Kann es daran liegen?
Damit kann ich (noch) nichts anfangen!

Muss ich das noch irgendwo einbauen?
-----EDIT 15:15 -----
OK, die Seite auf der ich die Presave-Action eintragen muss hab ich gefunden!
Allerdings sind dort 3 Eingebefelder!
In welches muss der Code?
http://wiki.redaxo.de/index.php?n=R4.HowTos

Nichts ist so schlecht, das es nicht für irgend etwas gut wäre!

h0d3nt3uf3l
Beiträge: 17
Registriert: 2. Jan 2010, 21:57
Wohnort: Nürnberg
Kontaktdaten: ICQ Website

2. Jan 2010, 23:04

Ich würde sagen in das feld für presave-action?
Lies dir mal die Überschriften durch!

tja_redaxo
Beiträge: 30
Registriert: 21. Sep 2010, 19:35
Wohnort: München

Mal ne Frage eines Neulings der dringend Hilfe benötigt

22. Sep 2010, 18:06

Hallo,
ich bin ein Neuling hier und habe mich mit diesem Moduls versucht. Funktioniert auch super. Vielen Dank erst mal dafür!

Ich hätte da nur eine Frage, kann man die Teasern auf je 6 pro Seite beschränken? So ne Art Paginierung?

Ich fummel jetzt schon so lang rum und find einach keine Lösung. Hat jemand eine Idee? Bitte?

hans sachs
Beiträge: 32
Registriert: 13. Jun 2013, 13:28

Artikelmenge einschränken

20. Dez 2013, 00:15

Guten Abend,

das Modul "News-System" ist wunderbar, allerdings brauchte ich etwas mehr Flexibilität in der Auswahl der Artikel-Bereiche. Ich habe die Selectbox aus "MD-News" geklaut und eingefügt. Nun kann ich jeden Bereich in der Website auswählen und nicht nur Unterkategorien:

Ich als absoluter Laie komme allerdings nicht bei dem Problem weiter, wie ich auch noch die Menge der angezeigten Artikel modifizieren kann :-(

Kann mir jemand helfen?

Eingabe:

Code: Alles auswählen

<?php
/**
 *===============================
 * Modul: News-System
 * Bereich: Eingabe
 * Version: 1.0
 * Redaxo Version: 4.2
 * 
 * Features:
 *  - Wahlweise Onlinestatus Artikel
 *  - Wahlweise Onlinestatus Kategorien
 *  - Wahlweise Erstelldatum
 *  - Wahlweise Verfasser/Autor
 *  - Auswahl Subkategorien
 *  - Auswahl eigene Kategroie
 *  - Angabe der Artikelvorschaulänge
 *  - Anzeige des Metafile/Bildes
 *  - Sortierung nach
 *  -  - Erstell Datum
 *  -  - Update Datum
 *  -  - Name
 *  -  - Priorität
 *  - Debugging
 *
 * Erstellt von:
 *
 * Jan Menzel
 * www.arche-netvision.de
 * jan.menzel ( at ) arche-netvision.de
 * Datum: 08.07.2009
 *
 *===============================
 */

//CSS für die Moduleingabe
 echo('
 <style type="text/css">
    .ns_section
    {
        float: left; 
        width: 100%; 
        border-bottom: 1px solid lightgrey;
        margin-top: 5px;
        margin-right: 5px;
        padding-bottom: 10px;
    }
    
    .ns_block
    {
        float:left;
        width: 350px;
    }
    
    .ns_headline
    {
        font-weight: bold;
        margin-bottom: 5px;
        width: auto;
    }
    
    input
    {
        margin-top: 7px;
    }
</style>

 ');

// Auswahl uebernomme aus MD News - ON

  $select = new rex_category_select($ignore_offlines = false, $clang = false, $check_perms = true, $add_homepage = true);
  $select->setName("VALUE[1]");
  $select->setSelected("REX_VALUE[1]");
  $select->setSize(1);
  echo $select->get();
echo('<br />');
// Auswahl uebernomme aus MD News - OFF



/*
$value1 = explode("~~","REX_VALUE[1]");

echo('<div class="ns_section">');
    echo('<div class="ns_block">');
        echo('<span class="ns_headline">W&auml;hlen Sie die Unterkategorien aus, aus denen die Newsartikel angezeigt werden sollen</span>');
        echo('<br />');
        echo('<span>');
        
            $select = new select();
            $select->set_name('VALUE[1][]');
            $select->multiple(true);

            foreach(OOCategory::getChildrenById("REX_CATEGORY_ID", false, false) AS $category)
            {
                $select->add_option($category->getName(), $category->getId());
                
                if(in_array($category->getId(), $value1))
                {
                    $select->set_selected($category->getId()); 
                }
            }

            echo($select->out()); 
        echo('</span>');
        echo('<br style="clear:both;" />');
        echo('<span>');
            echo('<label style="width:auto; margin-right: 15px;" for="chk_ownCat">Eigene Kategorie mit einbeziehen</label>');
            
            if("REX_VALUE[6]" == "on" || "REX_VALUE[6]" == "On" || "REX_VALUE[6]" == 1)
            {
                echo('<input type="checkbox" checked="checked" id="chk_ownCat" name="VALUE[6]">');
            }
            else
            {
                echo('<input type="checkbox" id="chk_ownCat" name="VALUE[6]">');
            }
        echo('</span>');
    echo('</div>');
*/

    echo('<div class="ns_block">');

        echo('<span class="ns_headline">Online / Offline - Status ber&uuml;cksichtigen?</span>');    

        echo('<span style="float:left; width:200px;">');
        
        if("REX_VALUE[2]" == "on" || "REX_VALUE[2]" == "On" || "REX_VALUE[2]" == 1)
        {
            echo('<input type="checkbox" checked="checked" name="VALUE[2]" id="cat_online">');
        }
        else
        {
            echo('<input type="checkbox" name="VALUE[2]" id="cat_online">');
        }
            echo('<label for="cat_online">Kategorien</label>');
        echo('</span>');

        echo('<span style="float:left; width:200px;">');
       
            if("REX_VALUE[3]" == "on" || "REX_VALUE[3]" == "On" || "REX_VALUE[3]" == 1)
            {
                echo('<input type="checkbox" checked="checked" name="VALUE[3]" id="art_online">');
            }
            else
            {
                echo('<input type="checkbox" name="VALUE[3]" id="art_online">');
            }
            echo('<label for="art_online">Artikel</label>');
        echo('</span>');

    echo('</div>');

echo('</div>');

echo('<br style="clear:both" />');
echo('<br />');

echo('<div class="ns_section">');

        echo('<span class="ns_headline">Anzahl der Zeichen, die von einem News-Artikel angezeigt werden sollen:</span>');
        echo('<br />');
        echo('<input name="VALUE[4]" value="REX_VALUE[4]" />');
        echo('<br style="clear:both" />');
        echo('<span>');
            if("REX_VALUE[8]" == "on" || "REX_VALUE[8]" == "On" || "REX_VALUE[8]" == 1)
            {
                echo('<input type="checkbox" checked="checked" id="chk_useCreated" name="VALUE[8]">');
            }
            else
            {
                echo('<input type="checkbox" id="chk_useCreated" name="VALUE[8]">');
            }
            echo('<label style="width:150px; margin-right: 15px;" for="chk_useCreated">Erstelldatum anzeigen</label>');
        echo('</span>');
        echo('<br style="clear:both" />');
        echo('<span>');
            if("REX_VALUE[9]" == "on" || "REX_VALUE[9]" == "On" || "REX_VALUE[9]" == 1)
            {
                echo('<input type="checkbox" checked="checked" id="chk_useCreatedBy" name="VALUE[9]">');
            }
            else
            {
                echo('<input type="checkbox" id="chk_useCreatedBy" name="VALUE[9]">');
            }
            echo('<label style="width:150px; margin-right: 15px;" for="chk_useCreatedBy">Verfasser anzeigen</label>');
        echo('</span>');

echo('</div>');

echo('<br style="clear:both" />');

echo('<div class="ns_section">');
        echo('<span class="ns_headline"><label style="width:auto;" for="select_sort">Sortierung der News-Artikel:</label></span>');
        echo('<br style="clear:both" />');
            echo('<select name="VALUE[5]" id="select_sort">');
                  foreach (array("Priorität" => "Prio","Name" => "Name","Erstell Datum" => "CreateDate","Update Datum" => "UpdateDate") AS $key => $value) 
                  {
                        echo ('<option value="'.$value.'" ');
                        if ("REX_VALUE[5]"=="$value" ) 
                        {
                            echo ('selected="selected" ');
                        }
                        echo ('>'.$key.'</option>');
                  }
            echo('</select>');

echo('</div>');

echo("Debugging :<br />");
$select = new select();
$select->set_name('VALUE[7]');
$select->setsize('0');

foreach(array('Anschalten' => 1, 'Ausschalten' => 0) AS $value => $key)
{
    $select->add_option($value, $key);

    if("REX_VALUE[7]" == $key)
    {
        $select->set_selected($key); 
    }
}
echo($select->out()); 
?>
Ausgabe:

Code: Alles auswählen

Bleibt wie in: http://www.redaxo.org/de/download/module/?modul_id=459&searchtxt=&cat_id=2
VG
Hans

Zurück zu „Allgemeines [R4]“