Dieses AddOn stellt eine einfache Newsverwaltung bereit. Dabei werden die Beiträge in einer eigenen Tabelle abgelegt.
Die Kernfunktion ist die Verwaltung von Newsartikeln. Man kann Kategorien festlegen und die Artikel dann einer oder mehreren Kategorien zuordenen.
Für eine einfache Ausgabe der Artikel und Artikellisten sind einige Funktionen vorhanden. Man kann aber die Ausgabe auch über Datenbankabfragen realisieren.
Alle zukünftige Funktionen werden über Plugins eingebunden. Das erste Plugin realisiert eine Kommentarfunktioalität.
Derzeitige Funktionen:
- Kategorien
- Mehrsprachigkeit
- RSS Feed
- Kommentare (via Plugin)
Einfach das AddOn nach /redaxo/src/addons/
kopieren und im AddOns-Bereich installieren.
Das AddOn benötigt folgende AddOns:
- redaxo_url V.2 (für "sprechende" URLs)
- redactor2 (optional, macht aber Sinn wenn man Richtext im Artikel verwenden will).
Das AddOn enthält eine Einstellungsseite. Hier sollten Sie die Kategorie auswählen, in welcher im Startartikel die Artikelliste und die Artikelansicht ausgegben wird. Beim Klick auf "Einstellungen speichern" wird (falls vorhanden) ein Profil für das redactor2-AddOn sowie die Einstellungen für das url-AddOn angelegt.
Man kann natürlich einfach eine entsprechende Datenbank Abfrage machen und sich selbst um die Ausgabe kümmern. Wie das geht, kann man in der REDAXO Doku nachlesen.
Es gibt aber auch Funktionen, die sich um die Ausgabe kümmern. Hier ein paar Beispiele für die Verwendung dieser Klassenfunktionen (Listen- und Singleansicht in einem einzigen Template):
Headerbereich:
$newsmanager = new NewsManager();
// Mit aktiviertem Kommentarplugin:
// $newsmanager = new NewsManagerWithComments();
// Laden des JS falls mit Kommentarfuntion (and Ende des <head>)
<?php
if ((rex_plugin::get('newsmanager', 'comments')->isAvailable()) && (get_class($newsmanager) == 'NewsManagerWithComments')) {
echo $newsmanager->getCommentJavaScript();
}
?>
// ---------------------------
$news_id = $newsmanager->getNewsIdParameter();
if ($news_id) {
// Artikel-Ansicht
$article_post = $newsmanager->getArticleById($news_id);
echo $article_post->getSEOTitleTag();
echo $article_post->getDescriptionTag();
echo $article_post->getCanonicalUrlTag($this->getValue('article_id'));
echo $article_post->getHrefLangTag ($article_post->getId());
} else {
// Artikel-Listenansicht
$seo = new rex_yrewrite_seo();
echo $seo->getTitleTag();
echo $seo->getDescriptionTag();
echo $seo->getRobotsTag();
echo $seo->getHreflangTags();
echo $seo->getCanonicalUrlTag();
}
RSS Link (falls gewünscht):
echo $newsmanager->getRssHeaderLink();
Artikel-Ansicht und Artikel-Listenansicht
if ($news_id) {
// Artikel-Ansicht
echo $newsmanager->printSingleView($article_post);
// Mit aktiviertem Kommentarplugin:
// echo $newsmanager->getCommentList($article_post->getPid());
// echo $newsmanager->getCommentForm($article_post->getPid());
} else {
// Artikel-Listenansicht
echo ' <h1>' . $this->getValue("name") . '</h1>';
// Ausgabe 10 Artikel, alle weiteren paginiert
echo $newsmanager->printListView($this->getValue('article_id'), 10);
}
Kategorie Menü
echo $newsmanager->printCategoryMenu();
Den Quellcode für die Ausgabe kann man auch anpassen.
Es gibt dafür sog. Views, also HTML/PHP Schnipsel die in /redaxo/data/addons/newsmanager/views/
bzw. für die Kommentare
unter /redaxo/data/addons/newsmanager/views/comments/views/
abgelegt sind.
Ausgabe als Modul
Zum Beispiel Teaser der letzten drei Artikel:
// Ausgabe der Newsartikel
$newsmanager = '';
$newsmanager = new NewsManager();
// Listenansicht
echo $newsmanager->printTeaserListView($this->getValue('article_id'), 3);
siehe LICENSE
Friends Of REDAXO
Projekt-Lead