Oeffentliche Strecke durchgaengig auf das Editorial-Design umgestellt und
datengetrieben gemacht:
- Newsrooms-Verzeichnis + Newsroom-Detailseiten (Suche, Pagination)
- Preise-Seite neu (Abos via Plan, Einzel-PM via config/billing, Add-ons via
config/credits); Texte ausgelagert nach lang/{de,en}/pricing.php
- Pricing-Teaser-Komponente auf den Startseiten + Preise-Link in Header/Footer
- Statische Seiten im Editorial-Design ueber neue Komponente x-web.static-page:
impressum, datenschutz, agb, cookies, faq (Akkordeon), hilfe, kontakt,
ueber-uns, api (altes Theme/gradient-hero entfernt)
- Header/Footer-Linkpflege: tote #-Anker raus, FAQ/Hilfe/Cookies verlinkt,
"Anmelden" fuehrt in den Hub
- Legacy-URL-Redirects (.html, presskit->newsroom, Regionen)
- Datums-Bugfix in Feed-Komponenten
Tests: NewsroomPage, PreisePage, PricingTeaser, StaticPages, NavigationLinks,
LegacyRedirect. Doku in docs/frontend aktualisiert.
Co-authored-by: Cursor <cursoragent@cursor.com>
103 lines
4.8 KiB
PHP
103 lines
4.8 KiB
PHP
<?php
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Preise-Seite (öffentliches Portal) — ausgelagerte Inhalte
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Alle Texte der öffentlichen Preise-Seite (resources/views/web/preise.blade.php).
|
||
| Bewusst zentral hier, damit Portal-Seite, Hub und ggf. das User-Backend
|
||
| dieselben Formulierungen ziehen können. Zahlen/Preise kommen NICHT aus dieser
|
||
| Datei, sondern aus dem System (Plan-Modell, config/billing.php, config/credits.php).
|
||
|
|
||
| HINWEIS: Die korrespondierende In-App-Buchungsseite
|
||
| (resources/views/livewire/customer/bookings.blade.php) wird gerade überarbeitet.
|
||
| Teile dieser Texte (v. a. Add-on-Lineup) können sich noch ändern.
|
||
|
|
||
*/
|
||
|
||
return [
|
||
'meta_title' => 'Preise & Tarife – Pressemitteilungen veröffentlichen',
|
||
'meta_description' => 'Transparente Tarife für Pressemitteilungen: Abo mit Monatskontingent, Einzelveröffentlichung und flexible Add-ons. Alle Preise netto zzgl. USt.',
|
||
|
||
'eyebrow' => 'Tarife & Preise',
|
||
'headline' => 'Transparente Preise für jede Reichweite',
|
||
'intro' => 'Veröffentlichen Sie regelmäßig im Abo mit monatlichem Kontingent oder einzeln ohne Bindung. Add-ons buchen Sie flexibel dazu. Alle Preise sind Nettopreise zzgl. gesetzlicher USt.',
|
||
|
||
// 1. Abo-Tarife (Daten: Plan::active())
|
||
'plans' => [
|
||
'eyebrow' => 'Abo-Tarife',
|
||
'title' => 'Abo-Tarife mit Monatskontingent',
|
||
'subtitle' => 'Monatlich kündbar. Im Jahrestarif sind zwei Monate gratis enthalten.',
|
||
'per_month' => '/ Monat',
|
||
'per_year' => '/ Jahr',
|
||
'net' => 'netto zzgl. USt.',
|
||
'yearly_hint' => ':price € / Jahr · 2 Monate gratis',
|
||
'quota' => ':count Pressemitteilungen / Monat',
|
||
'daily_limit' => 'max. :count Veröffentlichungen / Tag',
|
||
'no_daily_limit' => 'Ohne Tageslimit',
|
||
'included' => 'Redaktionelle Prüfung & Veröffentlichung inklusive',
|
||
'cta' => 'Tarif wählen',
|
||
'popular' => 'Beliebt',
|
||
'empty' => 'Tarife werden in Kürze veröffentlicht.',
|
||
// TODO: Enterprise-Kontaktadresse zentralisieren, sobald final.
|
||
'enterprise' => 'Mehr Veröffentlichungen, mehrere Marken oder Sonderkonditionen? Enterprise-Konditionen erhalten Sie auf Anfrage über den Support.',
|
||
],
|
||
|
||
// 2. Einzel-Pressemitteilung (Daten: config('billing.single_pm_price_cents'))
|
||
'single' => [
|
||
'eyebrow' => 'Ohne Abo',
|
||
'title' => 'Einzel-Pressemitteilung',
|
||
'description' => 'Genau eine Veröffentlichung inklusive redaktioneller Prüfung. Bezahlt wird erst bei Veröffentlichung – abgelehnte Mitteilungen kosten nichts.',
|
||
'price_suffix' => 'pro Veröffentlichung',
|
||
'net' => 'netto zzgl. USt.',
|
||
'cta' => 'Einzeln veröffentlichen',
|
||
],
|
||
|
||
// 3. Add-ons & Einzelkosten (Daten: config('credits'))
|
||
'addons' => [
|
||
'eyebrow' => 'Add-ons',
|
||
'title' => 'Add-ons & Einzelkosten',
|
||
'subtitle' => '1 Credit = 1 €. Add-ons buchen Sie flexibel aus Ihrem Guthaben – größere Credit-Pakete enthalten Bonus-Guthaben.',
|
||
'credits_unit' => 'Credits',
|
||
'from' => 'ab',
|
||
|
||
'extra_pm' => [
|
||
'title' => 'Extra-Pressemitteilung',
|
||
'description' => 'Eine weitere Veröffentlichung, wenn das Monatskontingent ausgeschöpft ist – ohne Tarifwechsel. Der Preis sinkt mit höherem Tarif.',
|
||
'tier_label' => 'Tarif',
|
||
'price_label' => 'Preis je PM',
|
||
],
|
||
|
||
'boost' => [
|
||
'title' => 'Boost-Platzierung',
|
||
'description' => 'Prominente Platzierung Ihrer Meldung auf der Startseite und der passenden Branchenseite.',
|
||
'days' => ':count Tage',
|
||
],
|
||
|
||
'proof_pdf' => [
|
||
'title' => 'Veröffentlichungsnachweis (PDF)',
|
||
'description' => 'Offizieller Nachweis Ihrer Veröffentlichung als PDF-Dokument – ideal für Reporting und Archiv.',
|
||
'unit' => 'pro Nachweis',
|
||
],
|
||
|
||
'packs' => [
|
||
'title' => 'Credit-Pakete',
|
||
'description' => 'Guthaben aufladen und flexibel für Add-ons einsetzen. Größere Pakete enthalten Bonus-Credits.',
|
||
'credits' => ':count Credits',
|
||
'bonus' => '+:count Bonus',
|
||
'net' => 'netto',
|
||
],
|
||
|
||
// TODO: Diese Leistungen hängen am Magic-Link-/Bookings-Rework — Lineup
|
||
// und Preise final abstimmen, sobald die In-App-Seite steht.
|
||
'more' => [
|
||
'title' => 'Weitere Leistungen',
|
||
'correction' => 'Inhaltliche Korrektur',
|
||
'update' => 'Update / Ergänzung',
|
||
'depublish' => 'Depublizieren',
|
||
],
|
||
],
|
||
|
||
'vat_note' => 'Alle Preise sind Nettopreise und verstehen sich zzgl. der gesetzlichen Umsatzsteuer. Die Abrechnung erfolgt sicher über unseren Zahlungsdienstleister.',
|
||
];
|