Startseiten-Reisen im CMS steuerbar machen

This commit is contained in:
Kevin Adametz 2026-05-28 15:06:22 +00:00
parent ba48745809
commit 313f0dbf4e
5 changed files with 446 additions and 22 deletions

View file

@ -68,9 +68,24 @@ class CMSSidebarController extends Controller
$data['active'] = isset($data['active']) ? true : false;
$data['show_at'] = isset($data['show_at']) ? $data['show_at'] : null;
$widget->fill($data)->save();
$component = isset($data['component']) ? $data['component'] : null;
$widget->save();
if (in_array($component, [SidebarWidget::HOMEPAGE_PLANNABLE_TRIPS, SidebarWidget::HOMEPAGE_POPULAR_TRIPS])) {
$pageIds = isset($data['homepage_page_ids']) ? array_values(array_filter($data['homepage_page_ids'])) : [];
$newPageIds = isset($data['homepage_new_page_ids']) ? array_values(array_filter($data['homepage_new_page_ids'])) : [];
$data['html'] = json_encode([
'page_ids' => $pageIds,
'new_page_ids' => array_values(array_intersect($pageIds, $newPageIds)),
'new_badge_active' => false,
]);
} elseif ($component === SidebarWidget::NEWS_SIDEBAR_WIDGET && isset($data['homepage_news_limit'])) {
$data['html'] = json_encode([
'news_limit' => max(1, min(12, (int) $data['homepage_news_limit'])),
]);
}
$widget->fill($data)->save();
\Session()->flash('alert-save', '1');
return redirect(route('cms_sidebar_detail', [$widget->id]));