presseportale/resources/views/web/was-kostet-eine-pressemitteilung.blade.php
Kevin Adametz b6e4bc5dc0 web: Transparenzseiten — was kostet, ohne Abo, loeschen/aendern (Roadmap 2.4)
Drei Seiten mit unterschiedlicher Suchintention, DE/EN, Hub + Spokes:
- /was-kostet-eine-pressemitteilung: kurze Antwort im ersten Bildschirm,
  vier Abrechnungsmodelle ohne Anbieternamen und fremde Preise, sechs
  Prueffragen fuer Folgekosten, "Was bei uns gilt" (sieben Zusagen mit
  Einloesung), Rechenbeispiel Einzelabrechnung gegen Starter-Monate mit
  Zeilen fuer beide Seiten.
- /pressemitteilung-veroeffentlichen-ohne-abo: Ablauf, enthalten / nicht
  enthalten, nichts verfaellt, wann sich ein Tarif lohnt.
- /pressemitteilung-loeschen-oder-aendern-lassen: fuenf Wege als
  Tabelle (Korrektur, Aenderung, DSGVO, Depublikation, DSA), Antragsweg
  ueber /melden/pm, Korrektur statt Loeschung, Absatz fuer Meldungen auf
  fremden Portalen ohne Zusagen ueber Dritte.

PricingTransparencyData liefert alle Zahlen aus config/billing, credits,
legal und dem Starter-Tarif; TransparencyPageController leitet die Marke
aus dem Host ab. Tabellen-Typografie fuer .pm-body. Verlinkt aus
Preisuebersicht, Hilfe-Center, Sitemaps und llms.txt.

Test TransparencyPagesTest (9) erzwingt u. a., dass im Rechenbeispiel
beide Modelle Zeilen gewinnen. Protokoll Teil 5, Roadmap 2.4 abgehakt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 12:00:28 +00:00

114 lines
5.4 KiB
PHP

@extends('web.layouts.web-master')
@php
// Roadmap 2.4, Transparenzseite 1: Modellvergleich ohne Anbieternamen
// und fremde Preise (kein Vergleich im Sinne von § 6 UWG, weil kein
// Wettbewerber erkennbar), Prüfliste, eigene Zusagen, Rechenbeispiel nur
// mit eigenen Optionen. Alle Zahlen aus PricingTransparencyData.
$params = [
'net' => $singleNet,
'gross' => $singleGross,
'vat' => $vatPercent,
'starter' => $starterName,
'starter_price' => $starterMonthlyNet,
'quota' => $starterQuota,
'change' => $changeNet,
'depub' => $depublicationNet,
'extra' => $extraPmStarterNet,
'pricing_url' => route('preise'),
'cancel_url' => route('kuendigung'),
'change_url' => route('pressemitteilung-loeschen-oder-aendern-lassen'),
];
$spreadLabel = fn (array $row): string => __('static.cost.spread_'.$row['spread'], ['months' => $row['months'], 'per' => $starterQuota]);
$cheaperLabel = fn (array $row): string => __('static.cost.cheaper_'.$row['cheaper'], ['starter' => $starterName]);
@endphp
@section('title', __('static.cost.meta_title', ['brand' => $brandLabel]))
@section('meta_description', __('static.cost.meta_description', ['price' => $singleNet]))
@section('content')
<x-web.static-page
:eyebrow="__('static.cost.eyebrow')"
:title="__('static.cost.title')"
:lead="__('static.cost.lead')"
:breadcrumb="__('static.cost.breadcrumb')"
>
<div class="pm-body max-w-[760px]">
<h2 id="kurz">{{ __('static.cost.short_heading') }}</h2>
<p>{!! __('static.cost.short_p1', $params) !!}</p>
<p>{!! __('static.cost.short_p2', $params) !!}</p>
<h2 id="modelle">{{ __('static.cost.models_heading') }}</h2>
<p>{{ __('static.cost.models_intro') }}</p>
<table>
<thead>
<tr>
<th scope="col">{{ __('static.cost.models_col_model') }}</th>
<th scope="col">{{ __('static.cost.models_col_cost') }}</th>
</tr>
</thead>
<tbody>
@foreach ([1, 2, 3, 4] as $model)
<tr>
<th scope="row">{{ __('static.cost.model_'.$model) }}</th>
<td>{{ __('static.cost.model_'.$model.'_cost') }}</td>
</tr>
@endforeach
</tbody>
</table>
<p>{{ __('static.cost.models_note') }}</p>
<h2 id="folgekosten">{{ __('static.cost.check_heading') }}</h2>
<p>{{ __('static.cost.check_intro') }}</p>
<ol>
@foreach ([1, 2, 3, 4, 5, 6] as $question)
<li>{{ __('static.cost.check_'.$question) }}</li>
@endforeach
</ol>
<h2 id="bei-uns">{{ __('static.cost.ours_heading') }}</h2>
<p>{{ __('static.cost.ours_intro') }}</p>
<ol>
@foreach ([1, 2, 3, 4, 5, 6, 7] as $promise)
<li><strong>{{ __('static.cost.ours_'.$promise.'_t') }}</strong> — {!! __('static.cost.ours_'.$promise.'_d', $params) !!}</li>
@endforeach
</ol>
@if ($examples !== [])
<h2 id="rechenbeispiel">{{ __('static.cost.example_heading') }}</h2>
<p>{{ __('static.cost.example_intro', $params) }}</p>
<table>
<thead>
<tr>
<th scope="col">{{ __('static.cost.example_col_count') }}</th>
<th scope="col">{{ __('static.cost.example_col_spread') }}</th>
<th scope="col" class="text-right">{{ __('static.cost.example_col_single') }}</th>
<th scope="col" class="text-right">{{ __('static.cost.example_col_starter', ['starter' => $starterName]) }}</th>
<th scope="col">{{ __('static.cost.example_col_cheaper') }}</th>
</tr>
</thead>
<tbody>
@foreach ($examples as $row)
<tr>
<td class="tabular-nums">{{ $row['count'] }}</td>
<td>{{ $spreadLabel($row) }}</td>
<td class="text-right tabular-nums">{{ $row['single'] }}&nbsp;€</td>
<td class="text-right tabular-nums">{{ $row['starter'] }}&nbsp;€</td>
<td><strong>{{ $cheaperLabel($row) }}</strong></td>
</tr>
@endforeach
</tbody>
</table>
<p>{{ __('static.cost.example_note') }}</p>
<p>{!! __('static.cost.example_extra', $params) !!}</p>
@endif
<h2 id="weiterlesen">{{ __('static.cost.related_heading') }}</h2>
<ul>
<li><a href="{{ route('pressemitteilung-veroeffentlichen-ohne-abo') }}">{{ __('static.cost.related_no_sub') }}</a></li>
<li><a href="{{ route('pressemitteilung-loeschen-oder-aendern-lassen') }}">{{ __('static.cost.related_change') }}</a></li>
<li><a href="{{ route('preise') }}">{{ __('static.cost.related_pricing') }}</a></li>
</ul>
</div>
</x-web.static-page>
@endsection