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
|
// Use first hotel which should be the only one at this point
|
||||||
if ($product->getHotels()->count() > 0) {
|
if ($product->getHotels()->count() > 0) {
|
||||||
$hotels = $product->getHotels()->toArray();
|
$product->getHotels()->rewind();
|
||||||
$hotel = reset($hotels);
|
$hotel = $product->getHotels()->current();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -766,11 +766,14 @@ class Product extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity implements
|
|||||||
*/
|
*/
|
||||||
public function getTeaserImage()
|
public function getTeaserImage()
|
||||||
{
|
{
|
||||||
if ($this->teaserImages->count() === 0) {
|
$teaserImages = $this->teaserImages;
|
||||||
|
$teaserImages->rewind();
|
||||||
|
|
||||||
|
if ($teaserImages->count() === 0) {
|
||||||
return null;
|
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()
|
public function getHeaderImage()
|
||||||
{
|
{
|
||||||
$headerImages = $this->getHeaderImages();
|
$headerImages = $this->getHeaderImages();
|
||||||
|
$headerImages->rewind();
|
||||||
|
|
||||||
if ($headerImages->count() === 0) {
|
if ($headerImages->count() === 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return reset($headerImages->toArray());
|
return $headerImages->current();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
@@ -175,6 +175,7 @@ return [
|
|||||||
'label' => 'Saison',
|
'label' => 'Saison',
|
||||||
'config' => [
|
'config' => [
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
|
'renderType' => 'selectSingle',
|
||||||
'items' => [
|
'items' => [
|
||||||
[ 'Winter', 'w' ],
|
[ 'Winter', 'w' ],
|
||||||
[ 'Sommer', 's' ],
|
[ 'Sommer', 's' ],
|
||||||
|
|||||||
+4
-4
@@ -23,10 +23,10 @@ return [
|
|||||||
],
|
],
|
||||||
'types' => [
|
'types' => [
|
||||||
'1' => [
|
'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,
|
--palette--;;livedata, teaser, keywords, facts, officetip,--palette--;Auszeichnung;award,
|
||||||
--div--;Texte, ski_area, ski_area_extended, ski_pass, description, news,
|
--div--;Texte, ski_area, ski_area_extended, ski_pass, description, news,
|
||||||
--div--;Daten, --palette--;;dimensions,
|
--div--;Daten, --palette--;;dimensions,
|
||||||
--div--;Bilder/Dateien, teaser_images, header_images, images, region_maps',
|
--div--;Bilder/Dateien, teaser_images, header_images, images, region_maps',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
@@ -529,10 +529,10 @@ return [
|
|||||||
'label' => 'Gebiet für Schneehöhen',
|
'label' => 'Gebiet für Schneehöhen',
|
||||||
'config' => [
|
'config' => [
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
|
'renderType' => 'selectSingle',
|
||||||
'items' => [
|
'items' => [
|
||||||
['Keine Zuordnung', 0]
|
['Keine Zuordnung', 0]
|
||||||
],
|
],
|
||||||
'renderType' => 'selectSingle',
|
|
||||||
'foreign_table' => 'tx_epproducts_domain_model_snowreport',
|
'foreign_table' => 'tx_epproducts_domain_model_snowreport',
|
||||||
'foreign_table_where' => 'ORDER BY tx_epproducts_domain_model_snowreport.region_name',
|
'foreign_table_where' => 'ORDER BY tx_epproducts_domain_model_snowreport.region_name',
|
||||||
'minitems' => 0,
|
'minitems' => 0,
|
||||||
|
|||||||
+3
-3
@@ -18,7 +18,7 @@ export default class extends Controller {
|
|||||||
loading: Boolean,
|
loading: Boolean,
|
||||||
loaded: Boolean,
|
loaded: Boolean,
|
||||||
mode: String,
|
mode: String,
|
||||||
daytrip: Boolean,
|
disableTables: Boolean,
|
||||||
}
|
}
|
||||||
|
|
||||||
initialize() {
|
initialize() {
|
||||||
@@ -27,7 +27,7 @@ export default class extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
connect() {
|
connect() {
|
||||||
if (false === this.daytripValue) {
|
if (false === this.disableTablesValue) {
|
||||||
this.loadDates()
|
this.loadDates()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -49,7 +49,7 @@ export default class extends Controller {
|
|||||||
|
|
||||||
loadDates() {
|
loadDates() {
|
||||||
this.modeValue = 'dates'
|
this.modeValue = 'dates'
|
||||||
if (true === this.loadedValue) {
|
if (true === this.loadedValue || true === this.disableTablesValue) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.loadingValue = true
|
this.loadingValue = true
|
||||||
|
|||||||
@@ -3,6 +3,9 @@
|
|||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
@layer base {
|
@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/fonts";
|
||||||
@import "base/typography";
|
@import "base/typography";
|
||||||
@import "base/images";
|
@import "base/images";
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<svg class="w-4 h-4 md:w-6 md:h-6">
|
<svg class="w-4 h-4 md:w-6 md:h-6">
|
||||||
<use href="#icon-ski"></use>
|
<use href="#icon-ski"></use>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="text-sm md:text-base">
|
<span class="text-sm md:text-base whitespace-nowrap">
|
||||||
{region.length}
|
{region.length}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<svg class="w-4 h-4 md:w-6 md:h-6">
|
<svg class="w-4 h-4 md:w-6 md:h-6">
|
||||||
<use href="#icon-mountain"></use>
|
<use href="#icon-mountain"></use>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="text-sm md:text-base">
|
<span class="text-sm md:text-base whitespace-nowrap">
|
||||||
{region.height}
|
{region.height}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
<svg class="w-4 h-4 md:w-6 md:h-6">
|
<svg class="w-4 h-4 md:w-6 md:h-6">
|
||||||
<use href="#icon-lift"></use>
|
<use href="#icon-lift"></use>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="text-sm md:text-base">
|
<span class="text-sm md:text-base whitespace-nowrap">
|
||||||
{region.lifts}
|
{region.lifts}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</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-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-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-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}"/>
|
<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"
|
<div class="flex flex-col lg:flex-row-reverse lg:items-start"
|
||||||
data-controller="tabs"
|
data-controller="tabs"
|
||||||
@@ -38,14 +38,14 @@
|
|||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="hotel"
|
data-tab="hotel"
|
||||||
class="col-span-2 py-2 uppercase bg-ep-primary-dark">
|
class="py-2 uppercase bg-ep-primary-dark">
|
||||||
Unterkunft
|
Unterkunft
|
||||||
</button>
|
</button>
|
||||||
<button type="button"
|
<button type="button"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="dates"
|
data-tab="dates"
|
||||||
class="py-2 uppercase bg-ep-primary-dark">
|
class="col-span-2 py-2 uppercase bg-ep-primary-dark">
|
||||||
Termine/Preise
|
Termine/Preise
|
||||||
</button>
|
</button>
|
||||||
</f:then>
|
</f:then>
|
||||||
@@ -125,15 +125,15 @@
|
|||||||
data-tab="dates">
|
data-tab="dates">
|
||||||
<f:if condition="{isProductWithExcludedConcept}">
|
<f:if condition="{isProductWithExcludedConcept}">
|
||||||
<f:if condition="{product.region.season} == 'w'">
|
<f:if condition="{product.region.season} == 'w'">
|
||||||
<div class="alert alert-info">
|
<div class="bg-ep-primary-light text-white p-4">
|
||||||
<p>
|
<p class="mb-2">
|
||||||
<strong>Gruppenrabatt bis zu 100€ möglich</strong>
|
<strong>Gruppenrabatt bis zu 100€ möglich</strong>
|
||||||
</p>
|
</p>
|
||||||
<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
|
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
|
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>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</f:if>
|
</f:if>
|
||||||
|
|||||||
Reference in New Issue
Block a user