presseportale/app/Http/Controllers/Web/RssPageController.php
Kevin Adametz ff75159b8f web: RSS-Feed je Newsroom, RSS-Übersichtsseite, „RSS" in der Topleiste (Roadmap 3.1, Nachtrag)
- /{edition}/newsroom/{slug}/feed: Sichtbarkeit wie die Newsroom-Seite
  (aktiv, nicht entfernt, mindestens eine Meldung), Prüfung vor dem Cache,
  301 bei zusammengeführter Firma; Autodiscovery und Link „RSS-Feed" auf
  der Newsroom-Seite; Hub leitet auf das Portal der Firma.
- /{edition}/rss (RssPageController, static.rss DE/EN): Was RSS ist, wie
  ein Reader funktioniert, Hauptfeed, alle Branchen-Feeds mit Adresse,
  Muster des Newsroom-Feeds, Hinweise. Portalseite mit Portal-Kontext,
  Hub → presseecho, in Sitemap und llms.txt.
- Topleiste, Burger-Menü und Footer verlinken RSS neben FAQ/Hilfe/API.
- FeedController in portal/category/newsroom aufgeteilt; Panel
  „Auslieferung" nennt zusätzlich den Newsroom-Feed.
- Tests: FeedTest (+3), RssPageTest (4), StaticPagesTest, VisibilityStatsTest.
- dev/2026-09-01: Nachtrag in Protokoll Teil 11 und Roadmap 3.1.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 08:27:14 +00:00

28 lines
867 B
PHP

<?php
namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller;
use App\Support\CategoryNavigation;
use App\Support\WebPortalContext;
use Illuminate\Contracts\View\View;
/**
* RSS-Übersicht (Roadmap 3.1): erklärt Feeds und listet Hauptfeed,
* Branchen-Feeds und das Newsroom-Muster des Portals. Portalseite wie Preise
* oder Newsrooms — der Portal-Kontext wird angewendet, damit Branding und
* Adressen zum aufgerufenen Portal gehören; auf dem Hub leitet die Route auf
* das führende Portal (config/canonical.php, portal_only_pages).
*/
class RssPageController extends Controller
{
public function __invoke(): View
{
$context = WebPortalContext::fromRequest();
return view('web.rss', [
'portalContext' => $context,
'feedCategories' => CategoryNavigation::items(null),
]);
}
}