Editorial-Frontend: oeffentliche Unterseiten, Preise & Linkpflege
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>
This commit is contained in:
parent
82abdf6bd6
commit
028b059975
34 changed files with 2842 additions and 3102 deletions
103
lang/de/pricing.php
Normal file
103
lang/de/pricing.php
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<?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.',
|
||||
];
|
||||
97
lang/en/pricing.php
Normal file
97
lang/en/pricing.php
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pricing page (public portal) — externalised content
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| English counterpart of lang/de/pricing.php. Prices/numbers do NOT live here;
|
||||
| they are read from the system (Plan model, config/billing.php, config/credits.php).
|
||||
|
|
||||
| NOTE: The in-app booking page (livewire/customer/bookings.blade.php) is still
|
||||
| being reworked. Some of these strings (mainly the add-on line-up) may change.
|
||||
|
|
||||
*/
|
||||
|
||||
return [
|
||||
'meta_title' => 'Pricing & Plans – Publish press releases',
|
||||
'meta_description' => 'Transparent pricing for press releases: subscription with a monthly quota, single publication and flexible add-ons. All prices net, plus VAT.',
|
||||
|
||||
'eyebrow' => 'Plans & Pricing',
|
||||
'headline' => 'Transparent pricing for every reach',
|
||||
'intro' => 'Publish regularly on a subscription with a monthly quota, or one-off without commitment. Add-ons are booked flexibly on top. All prices are net, plus statutory VAT.',
|
||||
|
||||
// 1. Subscription plans (data: Plan::active())
|
||||
'plans' => [
|
||||
'eyebrow' => 'Subscriptions',
|
||||
'title' => 'Subscriptions with a monthly quota',
|
||||
'subtitle' => 'Cancel monthly. The annual plan includes two months free.',
|
||||
'per_month' => '/ month',
|
||||
'per_year' => '/ year',
|
||||
'net' => 'net, plus VAT.',
|
||||
'yearly_hint' => ':price € / year · 2 months free',
|
||||
'quota' => ':count press releases / month',
|
||||
'daily_limit' => 'max. :count publications / day',
|
||||
'no_daily_limit' => 'No daily limit',
|
||||
'included' => 'Editorial review & publication included',
|
||||
'cta' => 'Choose plan',
|
||||
'popular' => 'Popular',
|
||||
'empty' => 'Plans will be published shortly.',
|
||||
'enterprise' => 'More publications, multiple brands or special terms? Enterprise conditions are available on request via support.',
|
||||
],
|
||||
|
||||
// 2. Single press release (data: config('billing.single_pm_price_cents'))
|
||||
'single' => [
|
||||
'eyebrow' => 'No subscription',
|
||||
'title' => 'Single press release',
|
||||
'description' => 'Exactly one publication including editorial review. You only pay on publication – rejected releases are free.',
|
||||
'price_suffix' => 'per publication',
|
||||
'net' => 'net, plus VAT.',
|
||||
'cta' => 'Publish a single release',
|
||||
],
|
||||
|
||||
// 3. Add-ons & individual costs (data: config('credits'))
|
||||
'addons' => [
|
||||
'eyebrow' => 'Add-ons',
|
||||
'title' => 'Add-ons & individual costs',
|
||||
'subtitle' => '1 credit = 1 €. Add-ons are booked flexibly from your balance – larger credit packs include bonus credits.',
|
||||
'credits_unit' => 'credits',
|
||||
'from' => 'from',
|
||||
|
||||
'extra_pm' => [
|
||||
'title' => 'Extra press release',
|
||||
'description' => 'One more publication when your monthly quota is used up – without changing plans. The price drops with a higher plan.',
|
||||
'tier_label' => 'Plan',
|
||||
'price_label' => 'Price per release',
|
||||
],
|
||||
|
||||
'boost' => [
|
||||
'title' => 'Boost placement',
|
||||
'description' => 'Prominent placement of your release on the homepage and the matching industry page.',
|
||||
'days' => ':count days',
|
||||
],
|
||||
|
||||
'proof_pdf' => [
|
||||
'title' => 'Proof of publication (PDF)',
|
||||
'description' => 'Official proof of your publication as a PDF document – ideal for reporting and archiving.',
|
||||
'unit' => 'per proof',
|
||||
],
|
||||
|
||||
'packs' => [
|
||||
'title' => 'Credit packs',
|
||||
'description' => 'Top up your balance and use it flexibly for add-ons. Larger packs include bonus credits.',
|
||||
'credits' => ':count credits',
|
||||
'bonus' => '+:count bonus',
|
||||
'net' => 'net',
|
||||
],
|
||||
|
||||
'more' => [
|
||||
'title' => 'Further services',
|
||||
'correction' => 'Content correction',
|
||||
'update' => 'Update / addition',
|
||||
'depublish' => 'Unpublish',
|
||||
],
|
||||
],
|
||||
|
||||
'vat_note' => 'All prices are net and exclude statutory VAT. Billing is handled securely via our payment provider.',
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue