ich möchte alle Artikel vollständig anzeigen lassen, die als Teaser gekennzeichnet und online sind. Egal in welcher Kategorie.
Und als Erweiterung:
Von diesen möchte ich immer 4 zufällig ausgewählt anzeigen lassen.
Hat jemand eine Idee ?
Ich habe schon mal angefangen. Leider wird irgendwie nix angezeigt.
Code: Alles auswählen
<?php
// Nur im Frontend
if ( !$REX['REDAXO']):
// Anzahl anzuzeigender Meldungen
$anzahl= 'REX_VALUE[1]';
$sql = new sql();
$qry = sprintf( "SELECT id FROM rex_article WHERE status='1' AND teaser='1' AND clang=%s ORDER BY prior", $REX['CUR_CLANG']);
$sql->setQuery( $qry);
$arr = $sql->get_array();
$articles = array();
if (is_array($arr)) {
foreach ( $arr as $row) {
$articles[] = OOArticle::getArticleById( $row['id']);
}
} else {
echo '<h1>Nix da ;-)</h1>';
}
for($i = 0; $i < count( $articles); $i++) {
// keine Startartikel anzeigen
if( $articles[$i]->isStartPage()) {
unset( $articles[$i]);
continue;
}
// Endlosschleife vermeiden
if( $articles[$i]->getId() == REX_ARTICLE_ID) {
unset( $articles[$i]);
continue;
}
}
// Artikel mischen
shuffle( $articles);
// Falls weniger Artikel vorhanden sind als ausgewählt
if ($anzahl > count ($articles)):
$anzahl = count($articles);
endif;
// Artikel ausgeben
for($i = 0; $i < $anzahl; $i++) {
$randArticle = $articles[ $i];
$article = new article();
$article->setArticleId( $randArticle->getId());
//Ausgabe
echo '<span class="zufall">'.$article->getArticle().'</span>';
}
endif;
?>
holger