home zeigt nun dynamisch die Kategorien an
This commit is contained in:
@@ -6,14 +6,44 @@ require_once 'php/model/Article.php';
|
||||
require_once 'php/model/ArticleManager.php';
|
||||
require_once 'php/model/LocalArticleManager.php';
|
||||
|
||||
$categoriesWithArticles = [];
|
||||
|
||||
$allowedCategories = [
|
||||
'deutsch', 'englisch', 'franzoesisch', 'latein', 'literatur',
|
||||
'mathe', 'biologie', 'chemie', 'physik', 'informatik', 'astronomie',
|
||||
'geschichte', 'erdkunde', 'sozialkunde', 'wirtschaft', 'religion',
|
||||
'ethik', 'philosophie', 'psychologie', 'kunst', 'musik', 'theater',
|
||||
'technik', 'werken', 'hauswirtschaft', 'sport'
|
||||
];
|
||||
|
||||
try {
|
||||
$articleManager = ArticleManager::getInstance();
|
||||
// Beziehen der Dummy-Beiträge aus dem ArticleManager:
|
||||
$dummy1 = $articleManager->getArticle(1);
|
||||
$dummy2 = $articleManager->getArticle(2);
|
||||
$dummy3 = $articleManager->getArticle(3);
|
||||
|
||||
foreach ($allowedCategories as $categorySlug) {
|
||||
$allCategoryArticles = $articleManager->getArticlesByCategory($categorySlug);
|
||||
|
||||
// nur Kategorien, die Beiträge enthält:
|
||||
if (!empty($allCategoryArticles) && is_array($allCategoryArticles)) {
|
||||
|
||||
// Beiträge nach Erstellungsdatum sortieren:
|
||||
usort($allCategoryArticles, function($a, $b) {
|
||||
$dateA = strtotime($a->getCreationDate());
|
||||
$dateB = strtotime($b->getCreationDate());
|
||||
return $dateB <=> $dateA; // Absteigende Sortierung
|
||||
});
|
||||
|
||||
// auf die 5 zuletzt hinzugefügten Beiträge begrenzen:
|
||||
$limitedArticles = array_slice($allCategoryArticles, 0, 5);
|
||||
|
||||
$categoriesWithArticles[] = [
|
||||
'slug' => $categorySlug,
|
||||
'name' => ucfirst($categorySlug), // Erster Buchstabe groß für die Ansicht
|
||||
'articles' => $limitedArticles
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception $e){
|
||||
$_SESSION["message"] = "internal_error";
|
||||
echo "Fehler aufgetreten: " . $e->getMessage();
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user