* Feedbacks in der Sidebar
* Status 1 (gelb) bei Reiseprogrammen, falls der Starttermin innerhalb der nächsten 4 Wochen liegt * Sidebar-Boxen auf Reiseprogramm- und Buchungsseiten ausblenden; Suchfilter auf Buchungsseiten ausblenden * Vorauswahl der Destination bei Traveltainment-CMS-Seiten * Vorauswahl von Start- und Enddatum in den Suchmasken entfernen, da Zweck des Feldes (durch Platzhalter) nicht mehr erkennbar git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3317 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
parent
30b80d660a
commit
76da75e891
13 changed files with 75 additions and 15 deletions
|
|
@ -135,6 +135,7 @@
|
||||||
travel_guide_sidebar_widget_block: block('travel_guide_sidebar_widget') ?? null,
|
travel_guide_sidebar_widget_block: block('travel_guide_sidebar_widget') ?? null,
|
||||||
travel_magazine_sidebar_widget_block: block('travel_magazine_sidebar_widget') ?? null,
|
travel_magazine_sidebar_widget_block: block('travel_magazine_sidebar_widget') ?? null,
|
||||||
offers_sidebar_widget_block: block('offers_sidebar_widget') ?? null,
|
offers_sidebar_widget_block: block('offers_sidebar_widget') ?? null,
|
||||||
|
feedbacks_sidebar_widget_block: block('feedbacks_sidebar_widget') ?? null,
|
||||||
} %}
|
} %}
|
||||||
|
|
||||||
<div id="content" class="col-md-9 col-sm-8 col-xs-12">
|
<div id="content" class="col-md-9 col-sm-8 col-xs-12">
|
||||||
|
|
|
||||||
|
|
@ -78,4 +78,14 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if (show_feedbacks_sidebar_widget ?? true) and page is defined and page.effectiveCountry is not empty
|
||||||
|
and page.effectiveCountry.feedbackPage is not empty
|
||||||
|
%}
|
||||||
|
{% if feedbacks_sidebar_widget_block is null %}
|
||||||
|
{{ render(controller('AppBundle:Component:feedbacksSidebarWidget', {country: page.effectiveCountry ?? null})) }}
|
||||||
|
{% else %}
|
||||||
|
{{ feedbacks_sidebar_widget_block|raw }}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
</div><!-- end col -->
|
</div><!-- end col -->
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
{{ slider_title }}
|
{{ slider_title }}
|
||||||
</div><!-- end title -->
|
</div><!-- end title -->
|
||||||
|
|
||||||
<div class="box-slider newswidget clearfix">
|
<div class="box-slider newswidget clearfix{{ theme|default('normal') == 'gray-box' ? ' gray-box' }}">
|
||||||
|
|
||||||
{% for slide in slides %}
|
{% for slide in slides %}
|
||||||
<a href="{{ slide.urlPath|default('javascript:void(0);') }}" class="slide{{ loop.first ? ' active' }}">
|
<a href="{{ slide.urlPath|default('javascript:void(0);') }}" class="slide{{ loop.first ? ' active' }}">
|
||||||
|
|
|
||||||
|
|
@ -254,7 +254,7 @@
|
||||||
} %}
|
} %}
|
||||||
</td>
|
</td>
|
||||||
<td data-title="Verfügbarkeit">
|
<td data-title="Verfügbarkeit">
|
||||||
<img src="/images/icons/available-{{ travel_date.status }}.png"
|
<img src="/images/icons/available-{{ travel_date.effectiveStatus }}.png"
|
||||||
alt="Verfügbarkeit">
|
alt="Verfügbarkeit">
|
||||||
</td>
|
</td>
|
||||||
<td data-title="">
|
<td data-title="">
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td data-title="Verfügbarkeit">
|
<td data-title="Verfügbarkeit">
|
||||||
<img src="/images/icons/available-{{ travel_date.status }}.png"
|
<img src="/images/icons/available-{{ travel_date.effectiveStatus }}.png"
|
||||||
alt="Verfügbarkeit">
|
alt="Verfügbarkeit">
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ TODO: This doesn't work. Form labels are rendered, but widgets themselves not. S
|
||||||
#}
|
#}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
{% include 'default/components/sidebar/ttSearchSidebarWidget.html.twig' %}
|
|
||||||
{% if tt_url is defined %}
|
{% if tt_url is defined %}
|
||||||
<iframe src="{{ tt_url }}" scrolling="no" width="100%" height="13500"
|
<iframe src="{{ tt_url }}" scrolling="no" width="100%" height="13500"
|
||||||
onload="window.parent.parent.scrollTo(0,0);"
|
onload="window.parent.parent.scrollTo(0,0);"
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,11 @@ class BookingController extends Controller
|
||||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||||
'page' => $travelProgramPage,
|
'page' => $travelProgramPage,
|
||||||
'breadcrumb_entries' => $breadcrumbEntries,
|
'breadcrumb_entries' => $breadcrumbEntries,
|
||||||
|
'show_travel_guide_sidebar_widget' => false,
|
||||||
|
'show_travel_magazine_sidebar_widget' => false,
|
||||||
|
'show_offers_sidebar_widget' => false,
|
||||||
|
'show_search_sidebar_widget' => false,
|
||||||
|
'show_feedbacks_sidebar_widget' => false,
|
||||||
'booking' => $booking,
|
'booking' => $booking,
|
||||||
'travel_program' => $travelProgram,
|
'travel_program' => $travelProgram,
|
||||||
'summary' => $htmlSummary,
|
'summary' => $htmlSummary,
|
||||||
|
|
@ -148,11 +153,16 @@ class BookingController extends Controller
|
||||||
return $this->render('default/pages/booking.html.twig', [
|
return $this->render('default/pages/booking.html.twig', [
|
||||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||||
'page' => $travelProgramPage,
|
'page' => $travelProgramPage,
|
||||||
|
'breadcrumb_entries' => $breadcrumbEntries,
|
||||||
|
'show_travel_guide_sidebar_widget' => false,
|
||||||
|
'show_travel_magazine_sidebar_widget' => false,
|
||||||
|
'show_offers_sidebar_widget' => false,
|
||||||
|
'show_search_sidebar_widget' => false,
|
||||||
|
'show_feedbacks_sidebar_widget' => false,
|
||||||
'travel_program' => $travelProgram,
|
'travel_program' => $travelProgram,
|
||||||
'travel_date' => $travelDate,
|
'travel_date' => $travelDate,
|
||||||
'form' => $form->createView(),
|
'form' => $form->createView(),
|
||||||
'price_type_by_id' => $this->priceTypeById,
|
'price_type_by_id' => $this->priceTypeById,
|
||||||
'breadcrumb_entries' => $breadcrumbEntries,
|
|
||||||
'summary' => $htmlSummary,
|
'summary' => $htmlSummary,
|
||||||
'total_price' => $totalPrice,
|
'total_price' => $totalPrice,
|
||||||
'mediator_terms_filename' => $travelProgram->getIsMediated()
|
'mediator_terms_filename' => $travelProgram->getIsMediated()
|
||||||
|
|
|
||||||
|
|
@ -91,13 +91,17 @@ class CmsController extends Controller
|
||||||
|
|
||||||
public function traveltainmentAction(Page $page)
|
public function traveltainmentAction(Page $page)
|
||||||
{
|
{
|
||||||
$form = $this->createForm(TtSearchRequestType::class, null, [
|
$destination = array_search($page->getBumaDestination(), TtSearchRequestType::$DESTINATION_CHOICES);
|
||||||
|
$form = $this->createForm(TtSearchRequestType::class, [
|
||||||
|
'topRegion' => $destination ? $destination : null,
|
||||||
|
], [
|
||||||
'country' => $page->getCountry(),
|
'country' => $page->getCountry(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return $this->render('default/pages/cms/traveltainment.html.twig', [
|
return $this->render('default/pages/cms/traveltainment.html.twig', [
|
||||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||||
'page' => $page,
|
'page' => $page,
|
||||||
|
'show_search_sidebar_widget' => false,
|
||||||
'tt_search_form' => $form->createView(),
|
'tt_search_form' => $form->createView(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
@ -110,7 +114,11 @@ class CmsController extends Controller
|
||||||
return $this->render('default/pages/cms/travelProgram.html.twig', [
|
return $this->render('default/pages/cms/travelProgram.html.twig', [
|
||||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||||
'page' => $page,
|
'page' => $page,
|
||||||
'travel_program' => $page->getTravelProgram()
|
'show_travel_guide_sidebar_widget' => false,
|
||||||
|
'show_travel_magazine_sidebar_widget' => false,
|
||||||
|
'show_offers_sidebar_widget' => false,
|
||||||
|
'show_feedbacks_sidebar_widget' => false,
|
||||||
|
'travel_program' => $page->getTravelProgram(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -168,4 +168,14 @@ class ComponentController extends Controller
|
||||||
: $repo->findWithTravelProgramsOfCountry($country)
|
: $repo->findWithTravelProgramsOfCountry($country)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function feedbacksSidebarWidgetAction(TravelCountry $country)
|
||||||
|
{
|
||||||
|
return $this->render(':default/components/sidebar:textSliderSidebarWidget.html.twig', [
|
||||||
|
'slider_title' => 'Kundenfeedback',
|
||||||
|
'slides' => $this->getDoctrine()->getRepository('AppBundle:Page')->findFeedbacks(
|
||||||
|
$country->getFeedbackPage()->getId()),
|
||||||
|
'theme' => 'gray-box',
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,19 @@ class PageRepository extends NestedTreeRepository
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function findFeedbacks($rootPageId)
|
||||||
|
{
|
||||||
|
$qb = $this->createQueryBuilder('node');
|
||||||
|
return $qb
|
||||||
|
->where($qb->expr()->eq('node.parent', $rootPageId))
|
||||||
|
->andWhere('node.showInNavi = 1')
|
||||||
|
->andWhere('node.status = 1')
|
||||||
|
->orderBy('node.date')
|
||||||
|
->getQuery()
|
||||||
|
->execute()
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Page $page
|
* @param Page $page
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -174,6 +174,15 @@ final class TravelDate
|
||||||
return $this->travelPeriod->getStatus();
|
return $this->travelPeriod->getStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getEffectiveStatus()
|
||||||
|
{
|
||||||
|
if ($this->getStatus() == 2 && $this->getStart()->getTimestamp() < time() + 2419200)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return $this->getStatus();
|
||||||
|
}
|
||||||
|
|
||||||
public function getDepartures()
|
public function getDepartures()
|
||||||
{
|
{
|
||||||
if ($this->departures === null)
|
if ($this->departures === null)
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,11 @@ class SearchRequestType extends AbstractType
|
||||||
$builder
|
$builder
|
||||||
->add('b', StDateType::class, [
|
->add('b', StDateType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
'data' => new \DateTime('+5 day'),
|
//'data' => new \DateTime('+5 day'),
|
||||||
])
|
])
|
||||||
->add('e', StDateType::class, [
|
->add('e', StDateType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
'data' => new \DateTime('+19 day'),
|
//'data' => new \DateTime('+19 day'),
|
||||||
])
|
])
|
||||||
->add('c', EntityType::class, [
|
->add('c', EntityType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
|
|
|
||||||
|
|
@ -100,20 +100,20 @@ class TtSearchRequestType extends AbstractType
|
||||||
{
|
{
|
||||||
$childChoices[$i .' Jahre'] = $i;
|
$childChoices[$i .' Jahre'] = $i;
|
||||||
}
|
}
|
||||||
$defaultStartDate = new \DateTime('+5 day');
|
//$defaultStartDate = new \DateTime('+5 day');
|
||||||
$defaultEndDate = new \DateTime('+19 day');
|
//$defaultEndDate = new \DateTime('+19 day');
|
||||||
|
|
||||||
$builder->setMethod('GET');
|
$builder->setMethod('GET');
|
||||||
$builder
|
$builder
|
||||||
->add('termin', StDateType::class, [
|
->add('termin', StDateType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
'empty_data' => $defaultStartDate->format('d.m.Y'),
|
//'empty_data' => $defaultStartDate->format('d.m.Y'),
|
||||||
'data' => $defaultStartDate,
|
//'data' => $defaultStartDate,
|
||||||
])
|
])
|
||||||
->add('ruecktermin', StDateType::class, [
|
->add('ruecktermin', StDateType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
'empty_data' => $defaultEndDate->format('d.m.Y'),
|
//'empty_data' => $defaultEndDate->format('d.m.Y'),
|
||||||
'data' => $defaultEndDate,
|
//'data' => $defaultEndDate,
|
||||||
])
|
])
|
||||||
->add('dauer', ChoiceType::class, [
|
->add('dauer', ChoiceType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue