Startseiten-CMS-Anbindung abschließen

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Kevin Adametz 2026-05-28 15:04:21 +00:00
parent 754aa699a1
commit 45150780de
22 changed files with 28191 additions and 2362 deletions

View file

@ -0,0 +1,64 @@
{% if dev_home_sidebar_offer_pages is defined and dev_home_sidebar_offer_pages is not empty %}
{% include 'default/components/sidebar/pageSliderSidebarWidget.html.twig' with {
slider_title: dev_home_sidebar_offer_title|default('Aktuell planbare Reisen'),
target_widget: 'dev-home-offers-widget',
pages: dev_home_sidebar_offer_pages,
new_badge_active: dev_home_sidebar_new_badge_active|default(false),
show_item_counter: true,
new_page_ids: dev_home_sidebar_new_page_ids|default([])
} %}
{% endif %}
{% if dev_home_sidebar_news_pages is defined and dev_home_sidebar_news_pages is not empty %}
{% include 'default/components/sidebar/pageSliderSidebarWidget.html.twig' with {
slider_title: dev_home_sidebar_news_title|default('Reisenews'),
target_widget: 'dev-home-news-widget',
pages: dev_home_sidebar_news_pages,
show_item_counter: true
} %}
{% endif %}
<style>
#dev-home-usedom-widget .box_mid {
padding: 24px 20px;
background: #f6f1e8;
border: 1px solid #eadfcf;
border-radius: 4px;
}
#dev-home-usedom-widget .hl5 {
margin-bottom: 12px;
color: #d89a13;
}
#dev-home-usedom-widget p {
margin-bottom: 18px;
}
#dev-home-usedom-widget .dev-usedom-sidebar-button {
display: inline-block;
padding: 10px 24px;
border-radius: 3px;
background: #d89a13;
color: #fff;
font-weight: 600;
text-transform: uppercase;
}
#dev-home-usedom-widget .dev-usedom-sidebar-button:hover {
background: #b97f00;
color: #fff;
text-decoration: none;
}
</style>
<div class="widget clearfix hidden-xs">
<div class="widget-title">
<a class="collapse-widget collapsed" href="#dev-home-usedom-widget" data-toggle="collapse" aria-expanded="true">Ferienwohnungen Usedom</a>
</div>
<div class="boxwidget collapse" id="dev-home-usedom-widget" aria-expanded="true">
<div class="box_mid text-center">
<div class="hl5">Urlaub an der Ostsee</div>
<p>8 Ferienwohnungen in zwei Häusern auf Usedom - ideal als nahes, kurzfristig planbares zweites Standbein.</p>
<a class="dev-usedom-sidebar-button" href="/ferienwohnungen" title="Ferienwohnungen auf Usedom">
ansehen
</a>
</div>
</div>
</div>

View file

@ -0,0 +1,4 @@
{{ render(controller('AppBundle:Component:newsSidebarWidget', {
title: widget.name,
limit: widget.configNewsLimit
})) }}

View file

@ -1,43 +1,57 @@
{% if pages is not empty %}
<div class="widget clearfix hidden-xs">
<div class="widget-title">
<a class="collapse-widget collapsed" href="#{{ target_widget }}" data-toggle="collapse" aria-expanded="true">{{ slider_title }}</a>
</div><!-- end title -->
<div class="boxwidget collapse" id="{{ target_widget }}" aria-expanded="true">
<div class="box-slider">
{% for page in pages %}
<div class="travel-wrapper slide{{ loop.first ? ' active' }}">
<a href="{{ page.urlPath|default('javascript:void(0);') }}" class="item text-center">
<div class="item-img">
{% include 'default/components/pageBoxImage.html.twig' %}
</div>
<div class="box_mid">
<div class="hl5">{{ page.title }}</div>
<p>{{ page.boxBody ?? page.description }}</p>
{% if page.travelProgram is not empty and page.travelProgram.lowestPrice > 0 %}
<div class="price">
Für {{ page.travelProgram.lowestPrice|number_format }},- € p.P.
</div>
{% endif %}
</div>
</a>
</div><!-- end travel-wrapper -->
{% endfor %}
<div class="item-switch clearfix">
<a href="javascript:void(0);" class="item-button-prev">zurück</a>
<a href="javascript:void(0);" class="item-button-next">weiter</a>
</div>
</div>
</div>
</div><!-- end widget -->
{% if pages is not empty %}
<div class="widget clearfix hidden-xs">
<div class="widget-title">
<a class="collapse-widget collapsed" href="#{{ target_widget }}" data-toggle="collapse" aria-expanded="true">
{{ slider_title }}
{% if new_badge_active is defined and new_badge_active %}
<span class="label label-warning">Neu</span>
{% endif %}
</a>
</div><!-- end title -->
<div class="boxwidget collapse" id="{{ target_widget }}" aria-expanded="true">
<div class="box-slider">
{% for page in pages %}
<div class="travel-wrapper slide{{ loop.first ? ' active' }}">
<a href="{{ page.urlPath|default('javascript:void(0);') }}" class="item text-center">
<div class="item-img">
{% include 'default/components/pageBoxImage.html.twig' %}
{% if show_item_counter is defined and show_item_counter %}
<span class="homepage-card-counter">{{ loop.index }}/{{ pages|length }}</span>
{% endif %}
{% if new_page_ids is defined and page.id in new_page_ids %}
<span class="homepage-card-new-badge">Neu</span>
{% endif %}
</div>
<div class="box_mid">
{% if target_widget == 'news-widget' and page.date is not empty %}
<div class="text-muted text-center">Vom: {{ page.date|date('d.m.Y') }}</div>
{% endif %}
<div class="hl5">{{ page.title }} </div>
{% if page.homepageCountryName is not empty %}
<div class="text-muted small">{{ page.homepageCountryName }}</div>
{% endif %}
<p>{{ page.description }}</p>
{% if page.travelProgram is not empty and page.travelProgram.lowestPrice > 0 %}
<div class="price">
Für {{ page.travelProgram.lowestPrice|number_format }},- € p.P.
</div>
{% endif %}
</div>
</a>
</div><!-- end travel-wrapper -->
{% endfor %}
<div class="item-switch clearfix">
<a href="javascript:void(0);" class="item-button-prev">zurück</a>
<a href="javascript:void(0);" class="item-button-next">weiter</a>
</div>
</div>
</div>
</div><!-- end widget -->
{% endif %}

View file

@ -1,17 +1,17 @@
{# @var page \AppBundle\Entity\Page #}
<div class="row">
<div class="col-sm-6 col-md-12">
{% for widget in widgets %}
{% if widget.component is defined %}
{% include 'default/components/sidebar/' ~ widget.component ~ '.html.twig' %}
{% if(loop.index == loop_half ) %}
</div>
<div class="col-sm-6 col-md-12">
{% endif %}
{% endif %}
{% endfor %}
</div>
<div class="col-sm-12">
<hr class="visible-sm visible-xs">
</div>
</div>
{# @var page \AppBundle\Entity\Page #}
<div class="row">
<div class="col-sm-6 col-md-12">
{% for widget in widgets %}
{% if widget.component is defined %}
{% include 'default/components/sidebar/' ~ widget.component ~ '.html.twig' %}
{% if(loop.index == (loop_half|default((widgets|length / 2)|round(0, 'ceil'))) ) %}
</div>
<div class="col-sm-6 col-md-12">
{% endif %}
{% endif %}
{% endfor %}
</div>
<div class="col-sm-12">
<hr class="visible-sm visible-xs">
</div>
</div>