Code cleanup, small fixes
This commit is contained in:
@@ -148,8 +148,8 @@ class ProductController extends ActionController
|
||||
}
|
||||
// Use first hotel which should be the only one at this point
|
||||
if ($product->getHotels()->count() > 0) {
|
||||
$hotels = $product->getHotels()->toArray();
|
||||
$hotel = reset($hotels);
|
||||
$product->getHotels()->rewind();
|
||||
$hotel = $product->getHotels()->current();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -766,11 +766,14 @@ class Product extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity implements
|
||||
*/
|
||||
public function getTeaserImage()
|
||||
{
|
||||
if ($this->teaserImages->count() === 0) {
|
||||
$teaserImages = $this->teaserImages;
|
||||
$teaserImages->rewind();
|
||||
|
||||
if ($teaserImages->count() === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return reset($this->teaserImages->toArray());
|
||||
return $teaserImages->current();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -807,12 +810,13 @@ class Product extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity implements
|
||||
public function getHeaderImage()
|
||||
{
|
||||
$headerImages = $this->getHeaderImages();
|
||||
$headerImages->rewind();
|
||||
|
||||
if ($headerImages->count() === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return reset($headerImages->toArray());
|
||||
return $headerImages->current();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
@@ -175,6 +175,7 @@ return [
|
||||
'label' => 'Saison',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[ 'Winter', 'w' ],
|
||||
[ 'Sommer', 's' ],
|
||||
|
||||
+4
-4
@@ -23,10 +23,10 @@ return [
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => '--palette--;;top, name_internal, --palette--;;name, --palette--;;destinations,
|
||||
'showitem' => '--palette--;;top, name_internal, --palette--;;name, --palette--;;destinations,
|
||||
--palette--;;livedata, teaser, keywords, facts, officetip,--palette--;Auszeichnung;award,
|
||||
--div--;Texte, ski_area, ski_area_extended, ski_pass, description, news,
|
||||
--div--;Daten, --palette--;;dimensions,
|
||||
--div--;Texte, ski_area, ski_area_extended, ski_pass, description, news,
|
||||
--div--;Daten, --palette--;;dimensions,
|
||||
--div--;Bilder/Dateien, teaser_images, header_images, images, region_maps',
|
||||
],
|
||||
],
|
||||
@@ -529,10 +529,10 @@ return [
|
||||
'label' => 'Gebiet für Schneehöhen',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Keine Zuordnung', 0]
|
||||
],
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_epproducts_domain_model_snowreport',
|
||||
'foreign_table_where' => 'ORDER BY tx_epproducts_domain_model_snowreport.region_name',
|
||||
'minitems' => 0,
|
||||
|
||||
+3
-3
@@ -18,7 +18,7 @@ export default class extends Controller {
|
||||
loading: Boolean,
|
||||
loaded: Boolean,
|
||||
mode: String,
|
||||
daytrip: Boolean,
|
||||
disableTables: Boolean,
|
||||
}
|
||||
|
||||
initialize() {
|
||||
@@ -27,7 +27,7 @@ export default class extends Controller {
|
||||
}
|
||||
|
||||
connect() {
|
||||
if (false === this.daytripValue) {
|
||||
if (false === this.disableTablesValue) {
|
||||
this.loadDates()
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ export default class extends Controller {
|
||||
|
||||
loadDates() {
|
||||
this.modeValue = 'dates'
|
||||
if (true === this.loadedValue) {
|
||||
if (true === this.loadedValue || true === this.disableTablesValue) {
|
||||
return
|
||||
}
|
||||
this.loadingValue = true
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
@tailwind utilities;
|
||||
|
||||
@layer base {
|
||||
body {
|
||||
padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
|
||||
}
|
||||
@import "base/fonts";
|
||||
@import "base/typography";
|
||||
@import "base/images";
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<svg class="w-4 h-4 md:w-6 md:h-6">
|
||||
<use href="#icon-ski"></use>
|
||||
</svg>
|
||||
<span class="text-sm md:text-base">
|
||||
<span class="text-sm md:text-base whitespace-nowrap">
|
||||
{region.length}
|
||||
</span>
|
||||
</div>
|
||||
@@ -35,7 +35,7 @@
|
||||
<svg class="w-4 h-4 md:w-6 md:h-6">
|
||||
<use href="#icon-mountain"></use>
|
||||
</svg>
|
||||
<span class="text-sm md:text-base">
|
||||
<span class="text-sm md:text-base whitespace-nowrap">
|
||||
{region.height}
|
||||
</span>
|
||||
</div>
|
||||
@@ -45,7 +45,7 @@
|
||||
<svg class="w-4 h-4 md:w-6 md:h-6">
|
||||
<use href="#icon-lift"></use>
|
||||
</svg>
|
||||
<span class="text-sm md:text-base">
|
||||
<span class="text-sm md:text-base whitespace-nowrap">
|
||||
{region.lifts}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
data-product-details-datestable-uri-value="{ep:uri.ajax(action: 'datestable', controller: 'AjaxTable', arguments: '{product: product, hotel: hotel}', format: 'html', pageUid: settings.defaultAjaxUid)}"
|
||||
data-product-details-pricetable-uri-value="{ep:uri.ajax(action: 'pricetable', controller: 'AjaxTable', arguments: '{product: product, hotel: hotel}', format: 'html', pageUid: settings.defaultAjaxUid)}"
|
||||
data-product-details-travel-alert-uri-value="{f:uri.typolink(parameter: settings.travelAlertPageUid)}"
|
||||
data-product-details-daytrip-value="{product.daytrip -> f:format.json()}">
|
||||
data-product-details-disable-tables-value="{f:if(condition: hotel.groupsPriceConfigs, then: 'true', else: 'false')}">
|
||||
<f:render partial="Header/Header" arguments="{layout: 8, subheader: '{product.region.name} / {product.name}', header: product.headline}"/>
|
||||
<div class="flex flex-col lg:flex-row-reverse lg:items-start"
|
||||
data-controller="tabs"
|
||||
@@ -38,14 +38,14 @@
|
||||
data-action="tabs#select"
|
||||
data-tabs-target="button"
|
||||
data-tab="hotel"
|
||||
class="col-span-2 py-2 uppercase bg-ep-primary-dark">
|
||||
class="py-2 uppercase bg-ep-primary-dark">
|
||||
Unterkunft
|
||||
</button>
|
||||
<button type="button"
|
||||
data-action="tabs#select"
|
||||
data-tabs-target="button"
|
||||
data-tab="dates"
|
||||
class="py-2 uppercase bg-ep-primary-dark">
|
||||
class="col-span-2 py-2 uppercase bg-ep-primary-dark">
|
||||
Termine/Preise
|
||||
</button>
|
||||
</f:then>
|
||||
@@ -125,15 +125,15 @@
|
||||
data-tab="dates">
|
||||
<f:if condition="{isProductWithExcludedConcept}">
|
||||
<f:if condition="{product.region.season} == 'w'">
|
||||
<div class="alert alert-info">
|
||||
<p>
|
||||
<div class="bg-ep-primary-light text-white p-4">
|
||||
<p class="mb-2">
|
||||
<strong>Gruppenrabatt bis zu 100€ möglich</strong>
|
||||
</p>
|
||||
<p>
|
||||
Für Gruppen bis 15 Personen könnt ihr <f:link.typolink parameter="31">hier direkt buchen</f:link.typolink>.
|
||||
Für Gruppen bis 15 Personen könnt ihr <f:link.typolink parameter="31" class="underline">hier direkt buchen</f:link.typolink>.
|
||||
Für Gruppen ab 16 Personen erstellen wir euch ein konkretes Angebot zu günstigen
|
||||
Gruppenkonditionen zu dieser Reise. Anfrage via Tel. 0221 - 272 276 18 oder mit einer
|
||||
<f:link.typolink parameter="{settings.defaultContactFormPageUid}">Kurzanfrage</f:link.typolink>!
|
||||
<f:link.typolink class="underline" parameter="{settings.defaultContactFormPageUid}">Kurzanfrage</f:link.typolink>!
|
||||
</p>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
Reference in New Issue
Block a user