Danke für die Hinweise auf die Namensfehler! Jetzt sind die Laufzeitfehler auch weg. Irgendwo muss aber noch ein Logikfehler sein, oder ein Fehler beim Anpassen an REDAXO5 . Er arbeitet alles ab, findet aber immer nur 0 Artikel, obwohl einige angelegt sind. Vielleicht fällt es jemandem auf , ich bin im Moment zu blind dafür.
Das Modul:
Code: Alles auswählen
<?php
// Nur im Frontend
if (!rex::isBackend()):
if(!function_exists('sortArticlesByCreateDate'))
{
// Sortierfunktion
function sortArticlesByCreateDate( $artA, $artB) {
$createA = $artA->_createdate;
$createB = $artB->_createdate;
if ( $createA == $createB) {
return 0;
}
return $createA > $createB ? -1 : 1;
}
}
$start = !empty($_GET['start']) ? (int) $_GET['start'] : 0; // Startitem
$offset = 5; // 5 Items pro Seite
$cats = array( REX_CATEGORY_ID); // alle Kategorien die Du "indizieren" willst
$articles = array();
foreach ( $cats as $catId) {
$cat = rex_category::get( $catId);
// CatIds die nicht funktionieren aussortieren
if( $cat === null) {
continue;
}
$cat_articles = $cat->getArticles( true);
foreach ( $cat_articles as $ooarticle) { echo'1';
// keine Startartikel anzeigen
if ( $ooarticle->isStartArticle()) {
continue;
}
// Damit keine Endlosschleife passiert, den Artikel der die Pagination setzt überspringen
if ( $ooarticle->getCurrentId() == REX_ARTICLE_ID )
{
continue;
}
$articles[] = $ooarticle;
}
}
$articles_length = count( $articles);
//Sortieren nach Erstellungsdatum
if ( $articles_length > 0) {
usort( $articles, "sortArticlesByCreateDate");
}
$article_list = array_slice( $articles, $start, $offset);
foreach ( $article_list as $ooarticle) {
$artId = $ooarticle->getCurrentId();
$article = new article( $artId);
echo $article->getArticle();
echo '<br><br><br><br><br><br><br><br><br><br>';
}
$prevStart = $start - $offset;
if ( $prevStart < 0)
{
$prevStart = '';
}
$nextStart = $start + $offset;
if ( $nextStart >= $articles_length)
{
$nextStart = '';
}
// Vorherige Seite Link
if ( $prevStart !== '') {
echo '<a href="'. rex_getUrl( '', '', array('start'=>$prevStart)).'"> < back </a>';
}
// Nächste Seite
if ( $nextStart !== '') {
echo '<a href="'. rex_getUrl( '', '', array('start'=>$nextStart)).'"> more > </a>';
}
endif;
?>