Ich nutze ein Modul das alle Artikel einer Kategorie ausgibt.
Diese werden nach Priorität sorttiert. Leider werden jedoch bei der Ausgabe die ersten beiden Artikel vertauscht (die letzten beiden in der Struktur).
Beispiel: Artikel 26,27,25,24
Es sollte aber 27,26,25,24 sein.
Woran kann das liegen? Sonst stimmt ja die Sortierung.
MODUL-AUSGABE
- Code: Alles auswählen
<?php
$counter=0;
$czahl="REX_VALUE[3]";
// Sortierfunktion
// siehe http://wiki3.redaxo.de?n=R3.Sortiermöglichkeiten
if (!function_exists('sortArticlesByPrio'))
{
function sortArticlesByPrio( $artA, $artB) {
$prioA = $artA->getPriority();
$prioB = $artB->getPriority();
if ( $prioA == $prioB) {
return 0;
}
return $prioA > $prioB ? -1 : 1;
}
}
$cat = OOCategory::getCategoryById($this->getValue("category_id")); // hier die ID der Kategorie
$articles = $cat->getArticles(true); // Alle Artikel der Kategorie auslesen, die Online sind
usort( $articles, sortArticlesByPrio);
if ( is_array( $articles) && count( $articles) > 0) {
foreach ( $articles as $article ){
if ($counter < $czahl)
{
$counter++;
// Den aktuellen Artikel nicht verlinken
if ( $article->getId() == REX_ARTICLE_ID) continue;
// Startartikel ausblenden
if ( $article->isStartPage()) continue;
$artikel = new article;
$artikel->setArticleID($article->getId());
echo '<div class="aartikel">'.$artikel->getArticle().'</div>';
}
}
}
?>

