WIP Debootstrapify
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
"symfony/options-resolver": "^4.2",
|
||||
"symfony/property-access": "^4.3",
|
||||
"symfony/serializer": "^4.2",
|
||||
"tritum/form-element-linked-checkbox": "^2.1",
|
||||
"typo3/cms-adminpanel": "^9.5",
|
||||
"typo3/cms-backend": "^9.5",
|
||||
"typo3/cms-belog": "^9.5",
|
||||
|
||||
Generated
+46
-1
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "eca3ebc095a3587edf9bd8d7011159e2",
|
||||
"content-hash": "cfa15f5e8a83f963c38f610ac83a987c",
|
||||
"packages": [
|
||||
{
|
||||
"name": "christophlehmann/imageoptimizer",
|
||||
@@ -4507,6 +4507,51 @@
|
||||
],
|
||||
"time": "2021-06-23T19:06:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tritum/form-element-linked-checkbox",
|
||||
"version": "2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tritum/form_element_linked_checkbox.git",
|
||||
"reference": "acf3a430b37c6329833af305c011163ece04b45d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tritum/form_element_linked_checkbox/zipball/acf3a430b37c6329833af305c011163ece04b45d",
|
||||
"reference": "acf3a430b37c6329833af305c011163ece04b45d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"typo3/cms-core": "^9.5.25 || ^10.4.14",
|
||||
"typo3/cms-form": "^9.5.25 || ^10.4.14"
|
||||
},
|
||||
"type": "typo3-cms-extension",
|
||||
"extra": {
|
||||
"typo3/cms": {
|
||||
"extension-key": "form_element_linked_checkbox"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"TRITUM\\FormElementLinkedCheckbox\\": "Classes/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"GPL-2.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Björn Jacob TRITUM GmbH",
|
||||
"email": "[email protected]"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/tritum/form_element_linked_checkbox/issues",
|
||||
"source": "https://github.com/tritum/form_element_linked_checkbox/tree/2.1.2"
|
||||
},
|
||||
"time": "2021-06-01T08:59:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "typo3/class-alias-loader",
|
||||
"version": "v1.1.3",
|
||||
|
||||
Generated
+2231
-2174
File diff suppressed because it is too large
Load Diff
+5
-6
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "eptheme",
|
||||
"description": "EP Reisen TYPO3 website package",
|
||||
"version": "5.0.0",
|
||||
"version": "3.0.0",
|
||||
"author": "Björn Fromme, [email protected]",
|
||||
"license": "proprietary",
|
||||
"scripts": {
|
||||
@@ -10,7 +10,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@splidejs/splide": "^2.4.21",
|
||||
"@tailwindcss/aspect-ratio": "^0.1.4",
|
||||
"alpinejs": "^3.2.2",
|
||||
"axios": "^0.21.1",
|
||||
"axios-auth-refresh": "^1.0.7",
|
||||
@@ -21,16 +20,14 @@
|
||||
"flatpickr": "^4.6.9",
|
||||
"font-awesome": "^4.7.0",
|
||||
"glightbox": "^3.0.9",
|
||||
"jquery": "^1.12.4",
|
||||
"jquery": "^3.6.0",
|
||||
"lazysizes": "^4.1.8",
|
||||
"leaflet": "^1.7.1",
|
||||
"microtip": "^0.2.2",
|
||||
"normalize.css": "^7.0.0",
|
||||
"normalize.css": "^8.0.1",
|
||||
"picturefill": "^3.0.3",
|
||||
"querystringify": "^2.2.0",
|
||||
"slick-carousel": "^1.8.1",
|
||||
"sticky-js": "^1.3.0",
|
||||
"tailwindcss-alt": "^3.0.0",
|
||||
"vue": "^2.6.14",
|
||||
"vue-router": "^3.5.2",
|
||||
"vue-scrollto": "^2.20.0",
|
||||
@@ -42,6 +39,7 @@
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||
"@babel/preset-env": "^7.14.8",
|
||||
"@symfony/webpack-encore": "^1.5.0",
|
||||
"@tailwindcss/aspect-ratio": "^0.2.1",
|
||||
"@tailwindcss/forms": "^0.3.3",
|
||||
"autoprefixer": "^10.3.1",
|
||||
"core-js": "^3.15.2",
|
||||
@@ -53,6 +51,7 @@
|
||||
"sass-mq": "^3.3.2",
|
||||
"smoothscroll-polyfill": "^0.4.4",
|
||||
"tailwindcss": "^2.2.7",
|
||||
"tailwindcss-alt": "^3.0.0",
|
||||
"tinycolor2": "^1.4.1",
|
||||
"vue-loader": "^15.9.7",
|
||||
"vue-template-compiler": "^2.6.14"
|
||||
|
||||
@@ -14,11 +14,11 @@ TYPO3:
|
||||
Form:
|
||||
renderingOptions:
|
||||
templateRootPaths:
|
||||
100: 'EXT:ep_theme/Resources/Private/Templates/Form/'
|
||||
1505042810: 'EXT:ep_theme/Resources/Private/Templates/Form/'
|
||||
partialRootPaths:
|
||||
100: 'EXT:ep_theme/Resources/Private/Partials/Form/'
|
||||
1505042810: 'EXT:ep_theme/Resources/Private/Partials/Form/'
|
||||
layoutRootPaths:
|
||||
100: 'EXT:ep_theme/Resources/Private/Layouts/Form/'
|
||||
1505042810: 'EXT:ep_theme/Resources/Private/Layouts/Form/'
|
||||
|
||||
contactform:
|
||||
__inheritances:
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@import "EXT:form/Configuration/TypoScript/setup.typoscript"
|
||||
@import "EXT:form_element_linked_checkbox/Configuration/TypoScript/setup.typoscript"
|
||||
|
||||
plugin.tx_form.view {
|
||||
templateRootPaths.10 = EXT:ep_theme/Resources/Private/Templates/Form/
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
@@ -1,5 +1,4 @@
|
||||
require('font-awesome/css/font-awesome.min.css')
|
||||
require('cookieconsent/build/cookieconsent.min.css')
|
||||
require('glightbox/dist/css/glightbox.css')
|
||||
require('leaflet/dist/leaflet.css')
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
// Main app
|
||||
require('./_app');
|
||||
|
||||
|
||||
@@ -46,19 +46,19 @@
|
||||
padding: 10px 24px;
|
||||
}
|
||||
}
|
||||
.arrowtop {
|
||||
position: fixed;
|
||||
bottom: 44px;
|
||||
right: 10px;
|
||||
z-index: 10;
|
||||
color: white;
|
||||
background: rgba($button, 0.75);
|
||||
font-size: 24px;
|
||||
padding: 5px 10px;
|
||||
border-radius: 5px;
|
||||
|
||||
@include mq($from: desktop) {
|
||||
font-size: 48px;
|
||||
}
|
||||
}
|
||||
//.arrowtop {
|
||||
// position: fixed;
|
||||
// bottom: 44px;
|
||||
// right: 10px;
|
||||
// z-index: 10;
|
||||
// color: white;
|
||||
// background: rgba($button, 0.75);
|
||||
// font-size: 24px;
|
||||
// padding: 5px 10px;
|
||||
// border-radius: 5px;
|
||||
//
|
||||
// @include mq($from: desktop) {
|
||||
// font-size: 48px;
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
@@ -100,33 +100,33 @@
|
||||
}
|
||||
}
|
||||
|
||||
.ep-headbar,
|
||||
div.ep-headbar{
|
||||
padding:20px 20px;
|
||||
font-size:17px;
|
||||
font-weight: $font-weight-bold;
|
||||
text-transform: uppercase;
|
||||
padding-top:10px;
|
||||
padding-bottom:10px;
|
||||
background-color:$link;
|
||||
color:$typoWhite;
|
||||
margin-bottom: 30px;
|
||||
&.concept-prg {
|
||||
background-color: $color-concept-prg;
|
||||
}
|
||||
&.concept-evt {
|
||||
background-color: $color-concept-evt;
|
||||
}
|
||||
&.concept-wkd {
|
||||
background-color: $color-concept-wkd;
|
||||
}
|
||||
&.concept-grp {
|
||||
background-color: $color-concept-grp;
|
||||
}
|
||||
&.concept-ind {
|
||||
background-color: $color-concept-ind;
|
||||
}
|
||||
&.concept-fam {
|
||||
background-color: $color-concept-fam;
|
||||
}
|
||||
}
|
||||
//.ep-headbar,
|
||||
//div.ep-headbar{
|
||||
// padding:20px 20px;
|
||||
// font-size:17px;
|
||||
// font-weight: $font-weight-bold;
|
||||
// text-transform: uppercase;
|
||||
// padding-top:10px;
|
||||
// padding-bottom:10px;
|
||||
// background-color:$link;
|
||||
// color:$typoWhite;
|
||||
// margin-bottom: 30px;
|
||||
// &.concept-prg {
|
||||
// background-color: $color-concept-prg;
|
||||
// }
|
||||
// &.concept-evt {
|
||||
// background-color: $color-concept-evt;
|
||||
// }
|
||||
// &.concept-wkd {
|
||||
// background-color: $color-concept-wkd;
|
||||
// }
|
||||
// &.concept-grp {
|
||||
// background-color: $color-concept-grp;
|
||||
// }
|
||||
// &.concept-ind {
|
||||
// background-color: $color-concept-ind;
|
||||
// }
|
||||
// &.concept-fam {
|
||||
// background-color: $color-concept-fam;
|
||||
// }
|
||||
//}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('../../fonts/lato-v17-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('../../fonts/lato-v17-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
@@ -13,6 +14,7 @@
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('../../fonts/lato-v17-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('../../fonts/lato-v17-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
@@ -23,6 +25,7 @@
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('../../fonts/lato-v17-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('../../fonts/lato-v17-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
@@ -33,6 +36,7 @@
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local(''),
|
||||
url('../../fonts/lato-v17-latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||
url('../../fonts/lato-v17-latin-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
.bg-winter {
|
||||
@apply bg-cover bg-no-repeat bg-center bg-ep-primary;
|
||||
background-image: url(../../images/background/winter.jpg);
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
.contact-bar {
|
||||
@apply fixed z-100 bottom-0 left-0 w-full flex justify-between divide-x divide-white;
|
||||
|
||||
@screen md {
|
||||
@apply bottom-auto left-auto top-1/2 right-0 w-auto flex-col divide-x-0 space-y-1;
|
||||
transform: translate(calc(100% - theme('spacing.8')), -50%);
|
||||
}
|
||||
}
|
||||
|
||||
.contact-bar__item {
|
||||
@apply flex-1 text-white py-2 bg-ep-primary;
|
||||
|
||||
@screen md {
|
||||
@apply flex flex-none items-start transition-transform duration-300 ease-in-out p-1 shadow-md;
|
||||
&:hover {
|
||||
@apply text-white;
|
||||
transform: translateX(calc(-100% + theme('spacing.8')));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contact-bar__icon {
|
||||
@apply w-6 h-6 mx-auto;
|
||||
|
||||
@screen md {
|
||||
@apply mx-0 mr-2;
|
||||
}
|
||||
}
|
||||
|
||||
.contact-bar__label {
|
||||
@apply hidden;
|
||||
|
||||
@screen md {
|
||||
@apply block;
|
||||
}
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
@import "~flatpickr/dist/flatpickr.css";
|
||||
|
||||
.flatpickr-calendar {
|
||||
box-shadow: none;
|
||||
|
||||
&.inline {
|
||||
border: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.daterange {
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
|
||||
.daterange__panel {
|
||||
padding: 8px 0;
|
||||
|
||||
.flatpickr-calendar {
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.daterange__headline,
|
||||
.daterange__presets {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.daterange__presets {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.daterange__preset {
|
||||
display: block;
|
||||
color: theme('colors.gray.800');
|
||||
|
||||
.fa {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.daterange__buttons {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.daterange__button {
|
||||
color: theme('colors.gray.800');
|
||||
border: none;
|
||||
background: none;
|
||||
outline: none;
|
||||
width: percentage(1/2);
|
||||
}
|
||||
|
||||
.flatpickr-input:not(.datepicker--visible) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.flatpickr-calendar {
|
||||
|
||||
&.inline {
|
||||
border: 1px solid theme('colors.gray.400');
|
||||
}
|
||||
|
||||
&.centered {
|
||||
margin: 0 auto 16px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.flatpickr-day {
|
||||
border-radius: 4px;
|
||||
margin: 3px 0;
|
||||
|
||||
&.available:not(.inRange) {
|
||||
color: white;
|
||||
background-color: theme('colors.green.500');
|
||||
}
|
||||
}
|
||||
|
||||
.flatpickr-day.selected {
|
||||
@apply bg-ep-secondary sbw:bg-sbw-secondary;
|
||||
@apply border-ep-secondary sbw:border-sbw-secondary;
|
||||
|
||||
&.startRange, &.endRange {
|
||||
@apply bg-ep-secondary sbw:bg-sbw-secondary;
|
||||
@apply border-ep-secondary sbw:border-sbw-secondary;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
@import "~glightbox/dist/css/glightbox.css";
|
||||
@@ -0,0 +1,5 @@
|
||||
@import "~leaflet/dist/leaflet.css";
|
||||
|
||||
.leaflet-top, .leaflet-bottom {
|
||||
z-index: 490 !important;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
.headerbar {
|
||||
@apply bg-ep-primary-light sbw:bg-sbw-primary text-white uppercase font-semibold py-2 px-4 mb-4;
|
||||
}
|
||||
@@ -3,11 +3,17 @@
|
||||
@tailwind utilities;
|
||||
|
||||
@layer base {
|
||||
@import "base/fonts";
|
||||
|
||||
[x-cloak] {
|
||||
@apply hidden;
|
||||
}
|
||||
@import "base/fonts";
|
||||
|
||||
[data-rte-content] {
|
||||
@import "rte-content";
|
||||
}
|
||||
|
||||
// LEGACY FROM HERE
|
||||
@import "variables";
|
||||
@import "color";
|
||||
|
||||
@@ -41,11 +47,11 @@
|
||||
//@import "remix/tables";
|
||||
@import "remix/product";
|
||||
//@import "remix/socialmedia";
|
||||
@import "remix/datepicker";
|
||||
//@import "remix/datepicker";
|
||||
@import "remix/sidebar";
|
||||
@import "remix/blog";
|
||||
@import "remix/forms";
|
||||
@import "remix/contactnav";
|
||||
//@import "remix/forms";
|
||||
//@import "remix/contactnav";
|
||||
@import "remix/faq";
|
||||
@import "remix/destination-pulldown";
|
||||
@import "remix/watchlist";
|
||||
@@ -61,7 +67,7 @@
|
||||
|
||||
//components
|
||||
//@import "mainnavi";
|
||||
@import "footer";
|
||||
//@import "footer";
|
||||
//@import "searchbar";
|
||||
@import "searchbox";
|
||||
@import "newsletter";
|
||||
@@ -71,26 +77,24 @@
|
||||
@import "subpage";
|
||||
@import "searchpage";
|
||||
@import "employee";
|
||||
|
||||
[data-rte-content] {
|
||||
@import "rte-content";
|
||||
}
|
||||
|
||||
@import "~microtip/microtip";
|
||||
|
||||
.leaflet-top, .leaflet-bottom {
|
||||
z-index: 490 !important;
|
||||
}
|
||||
}
|
||||
|
||||
@layer components {
|
||||
@import "~microtip/microtip";
|
||||
@import "components/background";
|
||||
@import "components/calendar";
|
||||
@import "components/searchbar";
|
||||
@import "components/herounit";
|
||||
@import "components/map";
|
||||
@import "components/lightbox";
|
||||
@import "components/datepicker";
|
||||
@import "components/forms";
|
||||
@import "components/contact-bar";
|
||||
@import "components/misc";
|
||||
}
|
||||
|
||||
@layer utilities {
|
||||
.has-validation-error .form-input {
|
||||
.has-validation-error input {
|
||||
@apply text-red-500 border-red-500;
|
||||
}
|
||||
.container-wide {
|
||||
|
||||
@@ -364,3 +364,15 @@ renderables:
|
||||
type: MultiCheckbox
|
||||
identifier: multicheckbox-4
|
||||
label: 'Wie bin ich auf E&P Reisen aufmerksam geworden?'
|
||||
-
|
||||
type: LinkedCheckbox
|
||||
identifier: privacypolicyaccepted
|
||||
label: 'Ich akzeptiere die %s.'
|
||||
properties:
|
||||
pageUid: '355'
|
||||
linkText: 'Datenschutzbestimmungen'
|
||||
fluidAdditionalAttributes:
|
||||
required: required
|
||||
validators:
|
||||
-
|
||||
identifier: NotEmpty
|
||||
|
||||
@@ -120,19 +120,14 @@ renderables:
|
||||
identifier: message
|
||||
label: 'Deine Kontaktanfrage'
|
||||
-
|
||||
type: Checkbox
|
||||
type: LinkedCheckbox
|
||||
identifier: privacypolicyaccepted
|
||||
label: 'Ich habe die Datenschutzbestimmungen gelesen und akzeptiere sie'
|
||||
label: 'Ich akzeptiere die %s.'
|
||||
properties:
|
||||
elementDescription: ''
|
||||
pageUid: '355'
|
||||
linkText: 'Datenschutzbestimmungen'
|
||||
fluidAdditionalAttributes:
|
||||
required: required
|
||||
validators:
|
||||
-
|
||||
identifier: NotEmpty
|
||||
-
|
||||
label: Inhaltselement
|
||||
properties:
|
||||
contentElementUid: '7709'
|
||||
type: ContentElement
|
||||
identifier: contentelement-1
|
||||
|
||||
@@ -4,10 +4,8 @@
|
||||
<div class="herounit__badge herounit__badge--custom custom-badge">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
preserveAspectRatio="xMinYMin meet" viewBox="0 0 200 200" class="custom-badge__background">
|
||||
<g>
|
||||
<circle id="bgouter" cx="100" cy="100" r="100"/>
|
||||
<circle id="bginner" cx="100" cy="100" r="70"/>
|
||||
</g>
|
||||
<circle id="bgouter" cx="100" cy="100" r="100"/>
|
||||
<circle id="bginner" cx="100" cy="100" r="70"/>
|
||||
</svg>
|
||||
<div class="custom-badge__content">
|
||||
<span class="custom-badge__title">{badgeData.title -> f:format.raw()}</span>
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">{city.name}</div></f:then>
|
||||
<f:else><h2>Ort</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
{city.name}
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Ort
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="city-details city-details--description" data-rte-content>
|
||||
{city.description -> f:format.html()}
|
||||
@@ -10,8 +18,16 @@
|
||||
</f:if>
|
||||
<f:if condition="{city.party}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Party</div></f:then>
|
||||
<f:else><h2>Party</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Party
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Party
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="city-details city-details--party" data-rte-content>
|
||||
{city.party -> f:format.html()}
|
||||
@@ -19,8 +35,16 @@
|
||||
</f:if>
|
||||
<f:if condition="{city.leisure}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Freizeitangebot</div></f:then>
|
||||
<f:else><h2>Freizeitangebot</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Freizeitangebot
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Freizeitangebot
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="city-details city-details--leisure" data-rte-content>
|
||||
{city.leisure -> f:format.html()}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
<script type="application/json" id="appconfig">
|
||||
{
|
||||
"loaderUrl": "<f:format.raw>{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/ajax-loader-white.gif', absolute: 1)}</f:format.raw>",
|
||||
"myEpApiBaseUrl": "<f:format.raw>{settings.myEpApiEndpointUrl}</f:format.raw>",
|
||||
"paCode": <f:if condition='{context.paCode}'><f:then>"{context.paCode}"</f:then><f:else>null</f:else></f:if>,
|
||||
"externalDomains": {settings.domainsToTrack -> v:iterator.explode() -> f:format.json() -> f:format.raw()}
|
||||
}
|
||||
</script>
|
||||
<f:format.raw>
|
||||
<script type="application/json" id="appconfig">
|
||||
{
|
||||
"loaderUrl": "{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/ajax-loader-white.gif', absolute: 1)}",
|
||||
"myEpApiBaseUrl": "{settings.myEpApiEndpointUrl}",
|
||||
"paCode": <f:if condition='{context.paCode}'><f:then>"{context.paCode}"</f:then><f:else>null</f:else></f:if>,
|
||||
"externalDomains": {settings.domainsToTrack -> v:iterator.explode() -> f:format.json() -> f:format.raw()}
|
||||
}
|
||||
</script>
|
||||
</f:format.raw>
|
||||
|
||||
@@ -2,43 +2,94 @@
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<div class="ep-contactnav">
|
||||
<a href="{f:uri.typolink(parameter: settings.watchlistPageUid)}" class="bg-red watchlist"
|
||||
x-data="watchlistButton" x-show="show" x-transition x-cloak rel="nofollow">
|
||||
<span class="fa fa-list" aria-hidden="true"></span>
|
||||
<div x-text="label"></div>
|
||||
<div class="contact-bar">
|
||||
<a href="{f:uri.typolink(parameter: settings.watchlistPageUid)}"
|
||||
class="contact-bar__item"
|
||||
title="Merkliste"
|
||||
x-data="watchlistButton"
|
||||
x-show="show"
|
||||
x-transition
|
||||
x-cloak
|
||||
rel="nofollow">
|
||||
<svg class="contact-bar__icon">
|
||||
<use href="#icon-heart"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label" x-text="label"></div>
|
||||
</a>
|
||||
<a href="tel:{settings.phoneNumberLink}" class="bg-red phone" title="Telefonische Beratung" rel="nofollow">
|
||||
<span class="fa fa-phone" aria-hidden="true"></span>
|
||||
<div>{settings.phoneNumber}</div>
|
||||
<a href="tel:{settings.phoneNumberLink}"
|
||||
class="contact-bar__item"
|
||||
title="Telefonische Beratung"
|
||||
rel="nofollow">
|
||||
<svg class="contact-bar__icon">
|
||||
<use href="#icon-phone"></use>
|
||||
</svg>
|
||||
<div class="hidden md:block">
|
||||
{settings.phoneNumber}
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}" target="_blank"
|
||||
class="bg-red whatsapp" title="Whatsapp" rel="nofollow">
|
||||
<span class="fa fa-whatsapp" aria-hidden="true"></span>
|
||||
<div>{settings.whatsApp} als Kontakt speichern</div>
|
||||
<a href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}"
|
||||
class="contact-bar__item"
|
||||
title="Whatsapp"
|
||||
target="_blank"
|
||||
rel="nofollow">
|
||||
<svg class="contact-bar__icon">
|
||||
<use href="#icon-whatsapp"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label">
|
||||
{settings.whatsApp} als Kontakt speichern
|
||||
</div>
|
||||
</a>
|
||||
<a href="{settings.facebookUrl}" class="bg-yellow facebook" target="_blank">
|
||||
<span class="fa fa-facebook" aria-hidden="true"></span>
|
||||
<div>Facebook</div>
|
||||
<a href="{settings.facebookUrl}"
|
||||
class="contact-bar__item"
|
||||
target="_blank"
|
||||
rel="nofollow">
|
||||
<svg class="contact-bar__icon">
|
||||
<use href="#icon-facebook"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label">
|
||||
Facebook
|
||||
</div>
|
||||
</a>
|
||||
<a href="{settings.instagramUrl}" class="bg-yellow instagram" target="_blank">
|
||||
<span class="fa fa-instagram" aria-hidden="true"></span>
|
||||
<div>Instagram</div>
|
||||
<a href="{settings.instagramUrl}"
|
||||
class="contact-bar__item"
|
||||
target="_blank"
|
||||
rel="nofollow">
|
||||
<svg class="contact-bar__icon">
|
||||
<use href="#icon-instagram"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label">
|
||||
Instagram
|
||||
</div>
|
||||
</a>
|
||||
<a href="{settings.youtubeUrl}" class="bg-yellow youtube" target="_blank">
|
||||
<span class="fa fa-youtube-play" aria-hidden="true"></span>
|
||||
<div>Youtube</div>
|
||||
<a href="{settings.youtubeUrl}"
|
||||
class="contact-bar__item"
|
||||
target="_blank"
|
||||
rel="nofollow">
|
||||
<svg class="contact-bar__icon">
|
||||
<use href="#icon-youtube"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label">
|
||||
Youtube
|
||||
</div>
|
||||
</a>
|
||||
<f:if condition="{settings.englishPageUid}">
|
||||
<f:link.typolink parameter="{settings.englishPageUid}" title="English" class="bg-yellow english">
|
||||
<span><f:image src="EXT:ep_theme/Resources/Public/images/gb.png" alt="English" class="ep-contactnav__icon"/></span>
|
||||
<div>English</div>
|
||||
<svg class="w-6 h-6">
|
||||
<use href="#icon-flag-gb"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label">
|
||||
English
|
||||
</div>
|
||||
</f:link.typolink>
|
||||
</f:if>
|
||||
<f:if condition="{settings.germanPageUid}">
|
||||
<f:link.typolink parameter="{settings.germanPageUid}" title="English" class="bg-yellow german">
|
||||
<span><f:image src="EXT:ep_theme/Resources/Public/images/de.png" alt="Deutsch" class="ep-contactnav__icon"/></span>
|
||||
<div>Deutsch</div>
|
||||
<svg class="w-6 h-6">
|
||||
<use href="#icon-flag-de"></use>
|
||||
</svg>
|
||||
<div class="contact-bar__label">
|
||||
Deutsch
|
||||
</div>
|
||||
</f:link.typolink>
|
||||
</f:if>
|
||||
</div>
|
||||
|
||||
@@ -3,51 +3,60 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
<div class="container-fluid ep-disturber ep-expert">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 176">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:#3C8DCF;}
|
||||
.st2{fill:#F9C700;}
|
||||
</style>
|
||||
<rect class="st0" width="1440" height="176"/>
|
||||
<polygon class="st1" points="0,176 0,153.4 263,105.4 551,127.7 1216,82.6 1359.2,137.5 1440,146.8 1440,176 "/>
|
||||
<polygon class="st2" points="263,105.4 0,124.5 0,176 "/>
|
||||
<polygon class="st2" points="1216,82.6 1366,149.5 1440,146.8 1440,112.8 1373,121.3 "/>
|
||||
</svg>
|
||||
<div class="container-fluid">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div class="container" data-rte-content>
|
||||
<div class="col-md-6">
|
||||
<f:if condition="{image}">
|
||||
<f:then>
|
||||
<img class="lazyload" data-src="{f:uri.image(image: image, width: '400', height: '400c')}"
|
||||
alt="{image.alternative}" title="{image.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div>
|
||||
<div>Ihr habt Fragen?<br>Wir helfen euch gerne!</div>
|
||||
<a class="headline headline--3 headline--disturber" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow">{settings.phoneNumber}</a>
|
||||
<div class="container" data-rte-content>
|
||||
<div class="col-md-6">
|
||||
<f:if condition="{image}">
|
||||
<f:then>
|
||||
<img class="lazyload" data-src="{f:uri.image(image: image, width: '400', height: '400c')}"
|
||||
alt="{image.alternative}" title="{image.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div>
|
||||
<div>Ihr habt Fragen?<br>Wir helfen euch gerne!</div>
|
||||
<a class="headline headline--3 headline--disturber" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow">{settings.phoneNumber}</a>
|
||||
</div>
|
||||
<div><a class="call-btn" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow"><i class="fa fa-phone" aria-hidden="true"></i></a></div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<span class="headline headline--secondary headline--disturber headline--light">{data.subheadline}</span>
|
||||
<div class="headline headline--secondary headline--disturber headline--light">{data.headline}</div>
|
||||
{data.text -> f:format.html()}
|
||||
<br>
|
||||
<f:for each="{data.flexForm.buttons -> v:iterator.slice(start: 0, length: 4) -> v:iterator.chunk(count: 2)}" as="buttons">
|
||||
<div class="row">
|
||||
<f:for each="{buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 4">
|
||||
<div class="col-md-6">
|
||||
<f:link.typolink parameter="{button.container.link}"
|
||||
class="btn btn-warning btn-shadow">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
<div><a class="call-btn" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow"><i class="fa fa-phone" aria-hidden="true"></i></a></div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<span class="headline headline--secondary headline--disturber headline--light">{data.subheadline}</span>
|
||||
<div class="headline headline--secondary headline--disturber headline--light">{data.headline}</div>
|
||||
{data.text -> f:format.html()}
|
||||
<br>
|
||||
<f:for each="{data.flexForm.buttons -> v:iterator.slice(start: 0, length: 4) -> v:iterator.chunk(count: 2)}" as="buttons">
|
||||
<div class="row">
|
||||
<f:for each="{buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 4">
|
||||
<div class="col-md-6">
|
||||
<f:link.typolink parameter="{button.container.link}"
|
||||
class="btn btn-warning btn-shadow">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -3,15 +3,13 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
<div class="container-fluid ep-disturber-last-chance" data-rte-content>
|
||||
<div>{data.headline}</div>
|
||||
<div>{data.text -> f:format.html()}</div>
|
||||
<div>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
<div class="container-fluid ep-disturber-last-chance" data-rte-content>
|
||||
<div>{data.headline}</div>
|
||||
<div>{data.text -> f:format.html()}</div>
|
||||
<div>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -3,29 +3,27 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<div class="container-fluid ep-disturber-reminder" data-rte-content>
|
||||
<div>{data.headline}</div>
|
||||
<div class="col-md-6">
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
|
||||
<f:if condition="{image}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: image, width: '400')}"
|
||||
alt="{image.alternative}" title="{image.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/600x450" class="scale" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div>{data.text -> f:format.html()}</div>
|
||||
</div>
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info"
|
||||
title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<div class="container-fluid ep-disturber-reminder" data-rte-content>
|
||||
<div>{data.headline}</div>
|
||||
<div class="col-md-6">
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
|
||||
<f:if condition="{image}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: image, width: '400')}"
|
||||
alt="{image.alternative}" title="{image.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/600x450" class="scale" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
</f:section>
|
||||
<div class="col-md-6 ">
|
||||
<div>{data.text -> f:format.html()}</div>
|
||||
</div>
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info"
|
||||
title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,40 +1,50 @@
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
<div class="container-fluid ep-disturber ep-expert-small">
|
||||
<div>
|
||||
<div>
|
||||
<div class="container" data-rte-content>
|
||||
<div class="col-sm-2">
|
||||
<f:if condition="{image}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: image, width: '400', height: '400c')}"
|
||||
alt="{image.alternative}" title="{image.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img class="scale" src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
<svg viewBox="0 0 1440 62" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0,62L0,51.142L146.761,0L309.429,36.327L462.293,27.296L642.868,0L1104.86,42.923L1288.64,9.944L1368.37,37.139L1440,18.975L1440,62L0,62Z" style="fill:#3d8ccb;fill-rule:nonzero;"/>
|
||||
<path d="M-0.6,31.5L0,62L146.7,0.9L-0.6,31.5Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
<path d="M309.3,36.7L642.6,0.9L464.5,36.7L309.3,36.7Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
<path d="M1288.1,10.7L1371,31.5L1439.4,19.6L1368.6,45.6L1288.1,10.7Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
</svg>
|
||||
<div class="bg-winter -mt-1 -mb-1">
|
||||
<div class="max-w-screen-lg mx-auto" data-rte-content>
|
||||
<div class="md:flex md:items-start py-4">
|
||||
<div class="px-16 pb-4 md:px-4 md:pb-0 md:w-1/6">
|
||||
<f:if condition="{image}">
|
||||
<f:then>
|
||||
<img class="block w-full h-auto rounded-full lazyload"
|
||||
data-src="{f:uri.image(image: image, width: '400', height: '400c')}"
|
||||
alt="{image.alternative}" title="{image.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img class="block w-full h-auto rounded-full" src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="px-16 md:px-4 md:w-5/6 md:pl-8 text-center text-white md:text-left" data-rte-content>
|
||||
<span class="headline headline--3 headline--disturber">
|
||||
{data.headline}
|
||||
</span>
|
||||
{data.text -> f:format.html()}
|
||||
<div class="flex flex-col space-y-4 md:flex-row md:items-center md:space-y-0 md:space-x-4">
|
||||
<f:for each="{data.flexForm.buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 3">
|
||||
<f:link.typolink parameter="{button.container.link}" class="btn btn-warning btn-shadow">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
<span class="headline headline--3 headline--disturber">{data.headline}</span>
|
||||
{data.text -> f:format.html()}
|
||||
<br>
|
||||
<div class="row">
|
||||
<f:for each="{data.flexForm.buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 3">
|
||||
<div class="col-sm-4"><f:link.typolink parameter="{button.container.link}" class="btn btn-warning btn-shadow">{button.container.label}</f:link.typolink></div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
</div>
|
||||
<svg viewBox="0 0 1440 56" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0,0L0,45.882L205.2,22.941L545.8,51.592L1090.6,25.846L1372.7,56L1440,28.05L1440,0" style="fill:#3d8ccb;fill-rule:nonzero;"/>
|
||||
<path d="M205.2,22.9L545.8,55.9L1090.6,25.8L545.8,45L205.2,22.9Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
<path d="M1372.7,55.9L1440,14.9L1440,55.9L1372.7,55.9Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
</svg>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -3,51 +3,50 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
<div class="container-fluid ep-disturber ep-expert">
|
||||
|
||||
<div class="container-fluid ep-disturber ep-expert">
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div class="container" data-rte-content>
|
||||
<div class="col-md-6">
|
||||
<f:if condition="{teaserImage}">
|
||||
<f:then>
|
||||
<img class="lazyload" data-src="{f:uri.image(image: teaserImage, width: '400', height: '400c')}"
|
||||
alt="{teaserImage.alternative}" title="{teaserImage.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div>
|
||||
<div>Ihr habt Fragen?<br>Wir helfen euch gerne!</div>
|
||||
<a class="headline headline--3 headline--disturber" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow">{settings.phoneNumber}</a>
|
||||
<div class="container" data-rte-content>
|
||||
<div class="col-md-6">
|
||||
<f:if condition="{teaserImage}">
|
||||
<f:then>
|
||||
<img class="lazyload" data-src="{f:uri.image(image: teaserImage, width: '400', height: '400c')}"
|
||||
alt="{teaserImage.alternative}" title="{teaserImage.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div>
|
||||
<div>Ihr habt Fragen?<br>Wir helfen euch gerne!</div>
|
||||
<a class="headline headline--3 headline--disturber" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow">{settings.phoneNumber}</a>
|
||||
</div>
|
||||
<div><a class="call-btn" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow"><i class="fa fa-phone" aria-hidden="true"></i></a></div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<span class="headline headline--secondary headline--disturber headline--light">{data.subheader}</span>
|
||||
<div class="headline headline--secondary headline--disturber headline--light">{data.header}</div>
|
||||
{data.bodytext -> f:format.html()}
|
||||
<br>
|
||||
<f:for each="{data.flexForm.buttons -> v:iterator.slice(start: 0, length: 4) -> v:iterator.chunk(count: 2)}" as="buttons">
|
||||
<div class="row">
|
||||
<f:for each="{buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 4">
|
||||
<div class="col-md-6">
|
||||
<f:link.typolink parameter="{button.container.link}"
|
||||
class="btn btn-warning btn-shadow">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
<div><a class="call-btn" href="tel:{settings.phoneNumber -> v:format.pregReplace(pattern: '/[\-\s]/', replacement: '')}" rel="nofollow"><i class="fa fa-phone" aria-hidden="true"></i></a></div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<span class="headline headline--secondary headline--disturber headline--light">{data.subheader}</span>
|
||||
<div class="headline headline--secondary headline--disturber headline--light">{data.header}</div>
|
||||
{data.bodytext -> f:format.html()}
|
||||
<br>
|
||||
<f:for each="{data.flexForm.buttons -> v:iterator.slice(start: 0, length: 4) -> v:iterator.chunk(count: 2)}" as="buttons">
|
||||
<div class="row">
|
||||
<f:for each="{buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 4">
|
||||
<div class="col-md-6">
|
||||
<f:link.typolink parameter="{button.container.link}"
|
||||
class="btn btn-warning btn-shadow">
|
||||
{button.container.label}
|
||||
</f:link.typolink>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -3,15 +3,13 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
<div class="container-fluid ep-disturber-last-chance" data-rte-content>
|
||||
<div>{data.header}</div>
|
||||
<div>{data.bodytext -> f:format.html()}</div>
|
||||
<div>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
<div class="container-fluid ep-disturber-last-chance" data-rte-content>
|
||||
<div>{data.header}</div>
|
||||
<div>{data.bodytext -> f:format.html()}</div>
|
||||
<div>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info" title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -3,29 +3,27 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<div class="container-fluid ep-disturber-reminder" data-rte-content>
|
||||
<div>{data.header}</div>
|
||||
<div class="col-md-6">
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
|
||||
<f:if condition="{teaserImage}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: teaserImage, width: '400')}"
|
||||
alt="{teaserImage.alternative}" title="{teaserImage.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/600x450" class="scale" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div>{data.bodytext -> f:format.html()}</div>
|
||||
</div>
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info"
|
||||
title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
|
||||
<div class="container-fluid ep-disturber-reminder" data-rte-content>
|
||||
<div>{data.header}</div>
|
||||
<div class="col-md-6">
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
|
||||
<f:if condition="{teaserImage}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: teaserImage, width: '400')}"
|
||||
alt="{teaserImage.alternative}" title="{teaserImage.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img src="https://placehold.it/600x450" class="scale" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</a>
|
||||
</div>
|
||||
</f:section>
|
||||
<div class="col-md-6 ">
|
||||
<div>{data.bodytext -> f:format.html()}</div>
|
||||
</div>
|
||||
<a href="{f:uri.typolink(parameter: button.container.link)}" class="btn btn-info"
|
||||
title="{button.container.label -> f:format.raw()}">{button.container.label -> f:format.raw()}</a>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -3,38 +3,36 @@
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<f:section name="Disturber">
|
||||
<div class="container-fluid ep-disturber ep-expert-small" data-rte-content>
|
||||
<div class="container-fluid ep-disturber ep-expert-small" data-rte-content>
|
||||
<div>
|
||||
<div>
|
||||
<div>
|
||||
<div class="container">
|
||||
<div class="col-sm-2">
|
||||
<f:if condition="{teaserImage}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: teaserImage, width: '400', height: '400c')}"
|
||||
alt="{teaserImage.alternative}" title="{teaserImage.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img class="scale" src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
<span class="headline headline--3 headline--disturber">{data.header}</span>
|
||||
{data.bodytext -> f:format.html()}
|
||||
<br>
|
||||
<div class="row">
|
||||
<f:for each="{data.flexForm.buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 3">
|
||||
<div class="col-sm-4"><f:link.typolink parameter="{button.container.link}" class="btn btn-warning btn-shadow">{button.container.label}</f:link.typolink></div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="col-sm-2">
|
||||
<f:if condition="{teaserImage}">
|
||||
<f:then>
|
||||
<img class="scale lazyload" data-src="{f:uri.image(image: teaserImage, width: '400', height: '400c')}"
|
||||
alt="{teaserImage.alternative}" title="{teaserImage.title}">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<img class="scale" src="https://placehold.it/800x600" alt="">
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
<span class="headline headline--3 headline--disturber">{data.header}</span>
|
||||
{data.bodytext -> f:format.html()}
|
||||
<br>
|
||||
<div class="row">
|
||||
<f:for each="{data.flexForm.buttons}" as="button" iteration="iteration">
|
||||
<f:if condition="{iteration.cycle} <= 3">
|
||||
<div class="col-sm-4"><f:link.typolink parameter="{button.container.link}" class="btn btn-warning btn-shadow">{button.container.label}</f:link.typolink></div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,95 +1,190 @@
|
||||
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
|
||||
<div class="footer" id="footer">
|
||||
<div>
|
||||
<div class="container-fluid footer-lightblue">
|
||||
<div class="container">
|
||||
<div class="row accordion panel-group" id="ep-travel-accordion" role="tablist" aria-multiselectable="true">
|
||||
<v:menu pageUid="{settings.footerNavPid}" levels="2" expandAll="true">
|
||||
<f:for each="{menu}" as="menuheader" iteration="iteration">
|
||||
<div class="col-sm-3" x-data="collapse" data-collapse-until="991">
|
||||
<span class="headline headline--4 headline--footer hidden-xs">{menuheader.title}</span>
|
||||
<a class="headline headline--4 headline--footer visible-xs" role="button" x-bind="trigger" href="#">
|
||||
{menuheader.title}
|
||||
<html data-namespace-typo3-fluid="true" lang="en"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
|
||||
|
||||
<svg viewBox="0 0 1440 190" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0,192L0,164.5L189,90L221,73.5L479.5,103.5L964,147.5L1440,35.5L1440,192L0,192Z" style="fill:#3d8ccb;fill-rule:nonzero;"/>
|
||||
<path d="M0,113.8L189,90L0,179.5L0,113.8Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
<path d="M479.5,102.818L969.5,131.626L1440,0.5L1440,62.089L968,150.5L479.5,102.818Z" style="fill:rgb(249,199,0);fill-rule:nonzero;"/>
|
||||
</svg>
|
||||
<div class="bg-ep-primary py-4">
|
||||
<div class="bg-winter">
|
||||
<div class="container grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 pb-4">
|
||||
<v:menu pageUid="{settings.footerNavPid}" levels="2" expandAll="true">
|
||||
<f:for each="{menu}" as="menuheader" iteration="iteration">
|
||||
<div x-data="collapse(true, 991)">
|
||||
<span class="headline headline--4 headline--footer hidden md:block">
|
||||
{menuheader.title}
|
||||
</span>
|
||||
<button class="headline headline--4 headline--footer md:hidden"
|
||||
x-bind="trigger">
|
||||
{menuheader.title}
|
||||
</button>
|
||||
<v:menu pageUid="{menuheader.uid}" useShortcutUid="true" as="submenu">
|
||||
<ul class="list-disc text-white mb-0"
|
||||
x-bind="container"
|
||||
x-transition>
|
||||
<f:for each="{submenu}" as="submenuitem">
|
||||
<f:if condition="{submenuitem.doktype} == 3">
|
||||
<f:then>
|
||||
<li>
|
||||
<a class="text-white" href="{submenuitem.url}" target="_blank" title="{submenuitem.linktext}">{submenuitem.title}</a>
|
||||
</li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li>
|
||||
<a class="text-white" href="{f:uri.typolink(parameter: submenuitem.uid)}" title="{submenuitem.linktext}">{submenuitem.title}</a>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</ul>
|
||||
</v:menu>
|
||||
</div>
|
||||
</f:for>
|
||||
</v:menu>
|
||||
</div>
|
||||
<div class="hidden md:block container border-t border-white pt-4">
|
||||
<div class="grid grid-cols-2 gap-16">
|
||||
<div class="flex">
|
||||
<div class="flex items-start space-x-2 pr-4">
|
||||
<svg class="w-12 h-12 text-white">
|
||||
<use href="#icon-phone"></use>
|
||||
</svg>
|
||||
<div class="text-white">
|
||||
<span class="block uppercase text-xl">
|
||||
Service-Telefon
|
||||
</span>
|
||||
<a class="text-white whitespace-nowrap"
|
||||
href="tel:{settings.phoneNumberLink}"
|
||||
title="Service Telefon anrufen"
|
||||
rel="nofollow">
|
||||
{settings.phoneNumber}
|
||||
</a>
|
||||
<v:menu pageUid="{menuheader.uid}" useShortcutUid="true" as="submenu">
|
||||
<ul class="list-disc lg:block" x-bind="container" x-transition>
|
||||
<f:for each="{submenu}" as="submenuitem">
|
||||
<f:if condition="{submenuitem.doktype} == 3">
|
||||
<f:then>
|
||||
<li><a href="{submenuitem.url}" target="_blank" title="{submenuitem.linktext}">{submenuitem.title}</a></li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li><a href="{f:uri.typolink(parameter: submenuitem.uid)}" title="{submenuitem.linktext}">{submenuitem.title}</a></li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</ul>
|
||||
</v:menu>
|
||||
</div>
|
||||
</f:for>
|
||||
</v:menu>
|
||||
</div>
|
||||
<div class="row">
|
||||
<hr>
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-xs-2 col-xs-offset-2 col-md-offset-0 col-md-1"><i class="fa fa-4x fa-phone" aria-hidden="true"></i></div>
|
||||
<div class="col-xs-8 col-md-5">
|
||||
<div class="inline-element contact-block">
|
||||
<span class="headline headline--4 headline--footer">Service-Telefon</span>
|
||||
<a href="tel:{settings.phoneNumberLink}" title="Service Telefon anrufen" rel="nofollow">{settings.phoneNumber}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-10 col-xs-offset-1 col-md-offset-0 col-md-6">
|
||||
<div>{settings.businessHoursDays}<br>{settings.businessHoursTime}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-white flex-1">
|
||||
<span class="block">
|
||||
{settings.businessHoursDays}
|
||||
</span>
|
||||
<span class="block">
|
||||
{settings.businessHoursTime}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-xs-2 col-xs-offset-2 col-md-offset-0 col-md-1"><i class="fa fa-4x fa-whatsapp" aria-hidden="true"></i></div>
|
||||
<div class="col-xs-8 col-md-5">
|
||||
<div class="inline-element contact-block text-left">
|
||||
<div class="headline headline--4 headline--footer">Whatsapp</div>
|
||||
<a href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}" title="WhatsApp" target="_blank" rel="nofollow">{settings.whatsApp}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-10 col-xs-offset-1 col-md-offset-0 col-md-6">
|
||||
{f:translate(key: 'label.whatsapp_instructions', extensionName: 'ep_theme')}
|
||||
<div class="flex">
|
||||
<div class="flex items-start space-x-2 pr-4">
|
||||
<svg class="w-12 h-12 text-white">
|
||||
<use href="#icon-whatsapp"></use>
|
||||
</svg>
|
||||
<div class="text-white">
|
||||
<span class="block uppercase text-xl">
|
||||
WhatsApp
|
||||
</span>
|
||||
<a class="text-white whitespace-nowrap"
|
||||
href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}"
|
||||
title="WhatsApp"
|
||||
target="_blank"
|
||||
rel="nofollow">
|
||||
{settings.whatsApp}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-white flex-1">
|
||||
{f:translate(key: 'label.whatsapp_instructions', extensionName: 'ep_theme')}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid footer-darkblue text-sm lg:text-base">
|
||||
<div class="bg-ep-primary-dark py-4 text-sm lg:text-base text-white">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-4 text-left">© E&P Reisen und Events GmbH</div>
|
||||
<div class="col-sm-3 text-left">
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-4">
|
||||
<div class="md:col-span-4 text-center md:text-left">
|
||||
© E&P Reisen und Events GmbH
|
||||
</div>
|
||||
<div class="md:col-span-3 text-center md:text-left">
|
||||
<ul class="p-0 m-0">
|
||||
<li><a href="{f:uri.typolink(parameter: settings.legalNoticePageUid)}" title="Impressum">Impressum</a></li>
|
||||
<li><a href="{f:uri.typolink(parameter: settings.termsAndConditionsPageUid)}" title="AGB">AGB</a></li>
|
||||
<li><a href="{f:uri.typolink(parameter: settings.dataProtectionPageUid)}" title="AGB">Datenschutz</a></li>
|
||||
<li><a href="{f:uri.typolink(parameter: settings.imageCreditsPageUid)}" title="AGB">Bildrechte</a></li>
|
||||
<li>
|
||||
<a href="{f:uri.typolink(parameter: settings.legalNoticePageUid)}"
|
||||
class="text-white"
|
||||
title="Impressum">
|
||||
Impressum
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{f:uri.typolink(parameter: settings.termsAndConditionsPageUid)}"
|
||||
class="text-white"
|
||||
title="AGB">
|
||||
AGB
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{f:uri.typolink(parameter: settings.dataProtectionPageUid)}"
|
||||
class="text-white"
|
||||
title="AGB">
|
||||
Datenschutz
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{f:uri.typolink(parameter: settings.imageCreditsPageUid)}"
|
||||
class="text-white"
|
||||
title="AGB">
|
||||
Bildrechte
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-sm-3 text-center social-media hidden-xs">
|
||||
<a href="{settings.facebookUrl}" title="E&P bei Facebook" target="_blank"><i class="fa fa-facebook" aria-hidden="true"></i></a>
|
||||
<a href="{settings.instagramUrl}"><i class="fa fa-instagram" title="E&P bei Instagram" target="_blank"></i></a>
|
||||
<a href="{settings.youtubeUrl}"><i class="fa fa-youtube-play" title="E&P bei YouTube" target="_blank"></i></a>
|
||||
|
||||
<div class="md:col-span-3 text-center md:text-left">
|
||||
<div class="inline-flex md:flex items-start space-x-2">
|
||||
<a href="{settings.facebookUrl}"
|
||||
title="E&P bei Facebook"
|
||||
rel="nofollow"
|
||||
target="_blank">
|
||||
<svg class="w-6 h-6 text-white">
|
||||
<use href="#icon-facebook"></use>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{settings.instagramUrl}"
|
||||
title="E&P bei Instagram"
|
||||
rel="nofollow"
|
||||
target="_blank">
|
||||
<svg class="w-6 h-6 text-white">
|
||||
<use href="#icon-instagram"></use>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="{settings.youtubeUrl}"
|
||||
title="E&P bei YouTube"
|
||||
rel="nofollow"
|
||||
target="_blank">
|
||||
<svg class="w-6 h-6 text-white">
|
||||
<use href="#icon-youtube"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-2 text-center">
|
||||
<a class="block" href="https://www.unglobalcompact.org/" target="_blank" title="Global Compact">
|
||||
<img class="mx-auto lazyload" data-src="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/global_compact.png', height: '48')}" alt="Global Compact" width="40" height="48"/>
|
||||
<div class="md:col-span-2">
|
||||
<a class="block"
|
||||
href="https://www.unglobalcompact.org/"
|
||||
target="_blank"
|
||||
title="Global Compact">
|
||||
<img class="mx-auto lazyload"
|
||||
data-src="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/global_compact.png', height: '48')}"
|
||||
alt="Global Compact" width="40" height="48"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button x-data="scrollTop" x-bind="trigger" class="arrowtop" x-cloak>
|
||||
<i class="fa fa-angle-up"></i>
|
||||
</button>
|
||||
<button x-data="scrollTop"
|
||||
x-bind="trigger"
|
||||
x-cloak
|
||||
class="fixed bottom-0 right-0 mb-8 mr-8 z-10 h-10 w-10 flex items-center justify-center rounded bg-ep-secondary-80">
|
||||
<svg class="w-8 h-8 text-white">
|
||||
<use href="#icon-chevron-up"></use>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
value="{element.properties.value}"
|
||||
class="form-checkbox h-6 w-6"
|
||||
class="border-gray-400 focus:border-gray-800 text-ep-secondary sbw:text-sbw-secondary h-6 w-6"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
<span class="ml-2">{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if></span>
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<formvh:renderRenderable renderable="{element}">
|
||||
<f:render partial="Field/Field" arguments="{element: element, doNotShowLabel: 1}" contentAs="elementContent">
|
||||
<label class="inline-flex items-center">
|
||||
<f:form.checkbox
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
value="{element.properties.value}"
|
||||
errorClass="{element.properties.elementErrorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
<span class="ml-2">{formvh:translateElementProperty(element: element, property: 'label') -> f:format.raw()} <f:link.typolink parameter="{element.properties.pageUid}" target="_blank">{formvh:translateElementProperty(element: element, property: 'linkText')}</f:link.typolink><f:if condition="{element.required}"> <f:render partial="Field/Required" /></f:if></span>
|
||||
</label>
|
||||
</f:render>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -10,7 +10,7 @@
|
||||
multiple="1"
|
||||
id="{element.uniqueIdentifier}-{idIterator.index}"
|
||||
value="{value}"
|
||||
class="form-checkbox h-6 w-6"
|
||||
class="border-gray-400 focus:border-gray-800 h-6 w-6"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
<span class="ml-2">{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}</span>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<f:form.select
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute} form-multiselect block w-full mt-1"
|
||||
class="{element.properties.elementClassAttribute} border-gray-400 focus:border-gray-800 w-full mt-1"
|
||||
options="{formvh:translateElementProperty(element: element, property: 'options')}"
|
||||
multiple="multiple"
|
||||
errorClass="form-multiselect-error"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}-{idIterator.index}"
|
||||
value="{value}"
|
||||
class="form-radio"
|
||||
class="border-gray-400 focus:border-gray-800"
|
||||
errorClass="form-radio-error"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
options="{formvh:translateElementProperty(element: element, property: 'options')}"
|
||||
class="{element.properties.elementClassAttribute} form-select block w-full mt-1"
|
||||
class="{element.properties.elementClassAttribute} border-gray-400 focus:border-gray-800 w-full mt-1"
|
||||
errorClass="form-select-error"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
prependOptionLabel="{formvh:translateElementProperty(element: element, property: 'prependOptionLabel')}"
|
||||
@@ -19,7 +19,7 @@
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
options="{formvh:translateElementProperty(element: element, property: 'options')}"
|
||||
class="{element.properties.elementClassAttribute} form-select block w-full mt-1"
|
||||
class="{element.properties.elementClassAttribute} border-gray-400 focus:border-gray-800 w-full mt-1"
|
||||
errorClass="form-select-error"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
<formvh:renderRenderable renderable="{element}">
|
||||
<f:if condition="{element.properties.text}">
|
||||
<p{f:if(condition: element.properties.elementClassAttribute, then: ' class="{element.properties.elementClassAttribute}"')}>
|
||||
{formvh:translateElementProperty(element: element, property: 'text') -> f:format.nl2br()}
|
||||
<f:link.typolink parameter="{element.properties.targetPage}">
|
||||
{formvh:translateElementProperty(element: element, property: 'text') -> f:format.nl2br()}
|
||||
</f:link.typolink>
|
||||
</p>
|
||||
</f:if>
|
||||
</formvh:renderRenderable>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<f:form.textfield
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="form-input mt-1 block w-full"
|
||||
class="border-gray-400 focus:border-gray-800 mt-1 block w-full"
|
||||
errorClass="form-input-error"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<f:form.textarea
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute} form-textarea mt-1 block w-full"
|
||||
class="{element.properties.elementClassAttribute} border-gray-400 focus:border-gray-800 mt-1 w-full"
|
||||
rows="{element.properties.rows}"
|
||||
cols="{element.properties.cols}"
|
||||
errorClass="form-textarea-error"
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
{namespace ep=EP\EpTheme\ViewHelpers}
|
||||
<f:variable name="hotelTitle">{hotel.name -> f:format.raw()}{f:if(condition: hotel.categoryLabel, then: ' ({hotel.categoryLabel -> f:format.raw()})')}</f:variable>
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">{hotelTitle}</div></f:then>
|
||||
<f:else><h1>{hotelTitle}</h1></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
{hotelTitle}</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h1>
|
||||
{hotelTitle}
|
||||
</h1>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="hotel-details hotel-details--description" data-rte-content>
|
||||
{hotel.description -> f:format.html()}
|
||||
@@ -44,28 +51,58 @@
|
||||
<f:render partial="ContentSlider" arguments="{images: hotel.images, id: 'hotel-{hotel.uid}', thumbnails: 1}"/>
|
||||
</f:if>
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Ausstattung</div></f:then>
|
||||
<f:else><h2>Ausstattung</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Ausstattung
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Ausstattung
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="hotel-details hotel-details--features" data-rte-content>
|
||||
{hotel.features -> f:format.html()}
|
||||
</div>
|
||||
<f:if condition="{hotel.isApartment}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Appartments</div></f:then>
|
||||
<f:else><h2>Appartments</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Appartments
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>Appartments</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
<f:if condition="{hotel.isHolidayFlat}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Ferienwohnungen</div></f:then>
|
||||
<f:else><h2>Ferienwohnungen</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Ferienwohnungen
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Ferienwohnungen
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
<f:if condition="{hotel.isOther}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Zimmerarten</div></f:then>
|
||||
<f:else><h2>Zimmerarten</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Zimmerarten
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Zimmerarten
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
<div class="hotel-details hotel-details--roomtypes" data-rte-content>
|
||||
@@ -73,8 +110,16 @@
|
||||
</div>
|
||||
<f:if condition="{hotel.additionalInformation}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Zusatzinformationen</div></f:then>
|
||||
<f:else><h2>Zusatzinformationen</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Zusatzinformationen
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Zusatzinformationen
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="hotel-details hotel-details--additional" data-rte-content>
|
||||
{hotel.additionalInformation -> f:format.html()}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<symbol id="icon-close" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></symbol>
|
||||
<symbol id="icon-heart" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path></symbol>
|
||||
<symbol id="icon-calendar" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></symbol>
|
||||
<symbol id="icon-phone" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path></symbol>
|
||||
<symbol id="icon-tag" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path></symbol>
|
||||
<symbol id="icon-bed" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z"/></symbol>
|
||||
<symbol id="icon-bus" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"/></symbol>
|
||||
@@ -25,4 +26,11 @@
|
||||
<symbol id="icon-flag-de" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480"><path fill="#ffce00" d="M0 320h640v160H0z"/><path d="M0 0h640v160H0z"/><path fill="#d00" d="M0 160h640v160H0z"/></symbol>
|
||||
<symbol id="icon-flag-fr" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480"><g fill-rule="evenodd" stroke-width="1pt"><path fill="#fff" d="M0 0h640v480H0z"/><path fill="#00267f" d="M0 0h213.3v480H0z"/><path fill="#f31830" d="M426.7 0H640v480H426.7z"/></g></symbol>
|
||||
<symbol id="icon-flag-gb" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480"><path fill="#012169" d="M0 0h640v480H0z"/><path fill="#FFF" d="M75 0l244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0h75z"/><path fill="#C8102E" d="M424 281l216 159v40L369 281h55zm-184 20l6 35L54 480H0l240-179zM640 0v3L391 191l2-44L590 0h50zM0 0l239 176h-60L0 42V0z"/><path fill="#FFF" d="M241 0v480h160V0H241zM0 160v160h640V160H0z"/><path fill="#C8102E" d="M0 193v96h640v-96H0zM273 0v480h96V0h-96z"/></symbol>
|
||||
<!-- Logos -->
|
||||
<symbol id="icon-facebook" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></symbol>
|
||||
<symbol id="icon-instagram" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></symbol>
|
||||
<symbol id="icon-twitter" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></symbol>
|
||||
<symbol id="icon-youtube" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></symbol>
|
||||
<symbol id="icon-soundcloud" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"/></symbol>
|
||||
<symbol id="icon-whatsapp" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></symbol>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,5 +1,7 @@
|
||||
<f:if condition="{bars}">
|
||||
<div class="ep-headbar">Anreise</div>
|
||||
<div class="headerbar">
|
||||
Anreise
|
||||
</div>
|
||||
</f:if>
|
||||
<div data-rte-content>
|
||||
<h2>Eigenanreise</h2>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<div class="ep-headbar">Konzept</div>
|
||||
<div class="headerbar">
|
||||
Konzept
|
||||
</div>
|
||||
<div class="product-details product-details--concept" data-rte-content>
|
||||
{product.conceptDescription -> f:format.html()}
|
||||
</div>
|
||||
@@ -8,24 +10,32 @@
|
||||
Preisberechnung
|
||||
</a>
|
||||
</f:if>
|
||||
<div class="ep-headbar">Verpflegung</div>
|
||||
<div class="headerbar">
|
||||
Verpflegung
|
||||
</div>
|
||||
<div class="product-details product-details--board" data-rte-content>
|
||||
{product.boardDescription -> f:format.html()}
|
||||
</div>
|
||||
<f:if condition="{product.additionalServices}">
|
||||
<div class="ep-headbar">Zusatzleistungen</div>
|
||||
<div class="headerbar">
|
||||
Zusatzleistungen
|
||||
</div>
|
||||
<div class="product-details product-details--services" data-rte-content>
|
||||
{product.additionalServices -> f:format.html()}
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{product.programmeDescription}">
|
||||
<div class="ep-headbar">Programm</div>
|
||||
<div class="headerbar">
|
||||
Programm
|
||||
</div>
|
||||
<div class="product-details product-details--programme" data-rte-content>
|
||||
{product.programmeDescription -> f:format.html()}
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{product.skiPassDescription}">
|
||||
<div class="ep-headbar">Skipass, Kurse, Leihmaterial</div>
|
||||
<div class="headerbar">
|
||||
Skipass, Kurse, Leihmaterial
|
||||
</div>
|
||||
<div class="product-details product-details--skipass" data-rte-content>
|
||||
{product.skiPassDescription -> f:format.html()}
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{namespace ep=EP\EpTheme\ViewHelpers}
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">{region.name -> f:format.raw()}</div></f:then>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
{region.name -> f:format.raw()}
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2 class="headline headline--secondary headline--has-subline">
|
||||
<f:if condition="{region.season} == 's'">
|
||||
@@ -46,8 +50,16 @@
|
||||
<f:render partial="ContentSlider" arguments="{images: region.images, id: 'region-{region.uid}', thumbnails: 1}"/>
|
||||
</f:if>
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">{f:if(condition: '{region.season} == "w"', then: 'Skipass', else: 'Highlights')}</div></f:then>
|
||||
<f:else><h2>{f:if(condition: '{region.season} == "w"', then: 'Skipass', else: 'Highlights')}</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
{f:if(condition: '{region.season} == "w"', then: 'Skipass', else: 'Highlights')}
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
{f:if(condition: '{region.season} == "w"', then: 'Skipass', else: 'Highlights')}
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:if condition="{region.skiPass}">
|
||||
<div class="region-details region-details--skipass" data-rte-content>
|
||||
@@ -61,8 +73,16 @@
|
||||
</f:if>
|
||||
<f:if condition="{region.news}">
|
||||
<f:if condition="{bars}">
|
||||
<f:then><div class="ep-headbar">Aktuell</div></f:then>
|
||||
<f:else><h2>Aktuell</h2></f:else>
|
||||
<f:then>
|
||||
<div class="headerbar">
|
||||
Aktuell
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<h2>
|
||||
Aktuell
|
||||
</h2>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<div class="region-details region-details--news" data-rte-content>
|
||||
{region.news -> f:format.html()}
|
||||
|
||||
+4
-4
@@ -9,16 +9,16 @@
|
||||
<f:alias map="{data: disrupter.0.data, image: disrupter.0.image.0}">
|
||||
<f:switch expression="{data.layout}">
|
||||
<f:case value="0">
|
||||
<f:render partial="Disrupter/Small" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disrupter/Small" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="1">
|
||||
<f:render partial="Disrupter/Large" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disrupter/Large" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="2">
|
||||
<f:render partial="Disrupter/LastChance" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disrupter/LastChance" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="3">
|
||||
<f:render partial="Disrupter/Reminder" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disrupter/Reminder" arguments="{_all}"/>
|
||||
</f:case>
|
||||
</f:switch>
|
||||
</f:alias>
|
||||
|
||||
+4
-4
@@ -8,16 +8,16 @@
|
||||
<f:section name="Main">
|
||||
<f:switch expression="{data.layout}">
|
||||
<f:case value="0">
|
||||
<f:render partial="Disturber/Small" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disturber/Small" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="1">
|
||||
<f:render partial="Disturber/Large" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disturber/Large" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="2">
|
||||
<f:render partial="Disturber/LastChance" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disturber/LastChance" arguments="{_all}"/>
|
||||
</f:case>
|
||||
<f:case value="3">
|
||||
<f:render partial="Disturber/Reminder" section="Disturber" arguments="{_all}"/>
|
||||
<f:render partial="Disturber/Reminder" arguments="{_all}"/>
|
||||
</f:case>
|
||||
</f:switch>
|
||||
</f:section>
|
||||
|
||||
-7
@@ -61,13 +61,6 @@
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
<svg class="hidden">
|
||||
<symbol id="icon-facebook" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></symbol>
|
||||
<symbol id="icon-instagram" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></symbol>
|
||||
<symbol id="icon-twitter" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></symbol>
|
||||
<symbol id="icon-youtube" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></symbol>
|
||||
<symbol id="icon-soundcloud" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"/></symbol>
|
||||
</svg>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -13,67 +13,67 @@
|
||||
<f:form.hidden property="pageUrl"/>
|
||||
<label class="block mb-4 hidden">
|
||||
<span class="text-gray-700">Betreff*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="subject"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="subject"/>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.name">
|
||||
<span x-bind:class="formErrors.name ? 'text-red-500' : 'text-gray-700'">Name*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="name"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="name"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.name" x-html="formErrors.name"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.firstName">
|
||||
<span x-bind:class="formErrors.firstName ? 'text-red-500' : 'text-gray-700'">Vorname*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="firstName"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="firstName"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.firstName" x-html="formErrors.firstName"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.gender">
|
||||
<span x-bind:class="formErrors.gender ? 'text-red-500' : 'text-gray-700'">Gender*</span>
|
||||
<f:form.select class="form-select mt-1 block w-full" property="gender" options="{M: 'M', W: 'W', D: 'D'}"/>
|
||||
<f:form.select class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="gender" options="{M: 'M', W: 'W', D: 'D'}"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.gender" x-html="formErrors.gender"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.company">
|
||||
<span x-bind:class="formErrors.company ? 'text-red-500' : 'text-gray-700'">Firma/Verein*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="company"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="company"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.company" x-html="formErrors.company"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.email">
|
||||
<span x-bind:class="formErrors.email ? 'text-red-500' : 'text-gray-700'">E-Mail*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="email"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="email"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.email" x-html="formErrors.email"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.phone">
|
||||
<span x-bind:class="formErrors.phone ? 'text-red-500' : 'text-gray-700'">Telefon/Fax*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="phone"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="phone"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.phone" x-html="formErrors.phone"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.period">
|
||||
<span x-bind:class="formErrors.period ? 'text-red-500' : 'text-gray-700'">Zeitraum</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="period" placeholder="tt.mm.jjjj - tt.mm.jjjj"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="period" placeholder="tt.mm.jjjj - tt.mm.jjjj"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.period" x-html="formErrors.period"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.duration">
|
||||
<span x-bind:class="formErrors.duration ? 'text-red-500' : 'text-gray-700'">Aufenthaltsdauer</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="duration" placeholder="Tage inkl. An- & Abreisetag"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="duration" placeholder="Tage inkl. An- & Abreisetag"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.duration" x-html="formErrors.duration"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.pax">
|
||||
<span x-bind:class="formErrors.pax ? 'text-red-500' : 'text-gray-700'">Anzahl der Personen</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="pax" placeholder="ab 25 Personen"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="pax" placeholder="ab 25 Personen"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.pax" x-html="formErrors.pax"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.age">
|
||||
<span x-bind:class="formErrors.age ? 'text-red-500' : 'text-gray-700'">Durchschnittsalter</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="age"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="age"/>
|
||||
<div class="text-red-500 mt-2" x-show="formErrors.age" x-html="formErrors.age"></div>
|
||||
</label>
|
||||
<div class="mb-4">
|
||||
<label class="inline-flex items-center">
|
||||
<f:form.checkbox class="form-checkbox" property="children" value="Ja"/>
|
||||
<f:form.checkbox class="border-gray-400 focus:border-gray-800 text-ep-secondary sbw:text-sbw-secondary" property="children" value="Ja"/>
|
||||
<span class="ml-2">Kinder (ja/nein)</span>
|
||||
</label>
|
||||
</div>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.inquiry">
|
||||
<span x-bind:class="formErrors.inquiry ? 'text-red-500' : 'text-gray-700'">(Zusatz-) Wünsche</span>
|
||||
<f:form.textarea class="form-textarea mt-1 block w-full"
|
||||
<f:form.textarea class="border-gray-400 focus:border-gray-800 mt-1 w-full"
|
||||
property="inquiry"
|
||||
placeholder="z. B. Reiseleiter, Halbpension, Bus Anreise, Programm"
|
||||
cols="30" rows="5"/>
|
||||
|
||||
@@ -13,36 +13,36 @@
|
||||
<f:form.hidden property="pageUrl"/>
|
||||
<label class="block mb-4 hidden">
|
||||
<span class="text-gray-700">Betreff*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="subject"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="subject"/>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.gender">
|
||||
<span x-bind:class="formErrors.gender ? 'text-red-500' : 'text-gray-700'">Gender*</span>
|
||||
<f:form.select class="form-select mt-1 block w-full" property="gender" options="{M: 'M', W: 'W', D: 'D'}"/>
|
||||
<f:form.select class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="gender" options="{M: 'M', W: 'W', D: 'D'}"/>
|
||||
<div class="text-red-500" x-show="formErrors.gender" x-html="formErrors.gender"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.name">
|
||||
<span x-bind:class="formErrors.name ? 'text-red-500' : 'text-gray-700'">Name*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="name"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="name"/>
|
||||
<div class="text-red-500" x-show="formErrors.name" x-html="formErrors.name"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.firstName">
|
||||
<span x-bind:class="formErrors.firstName ? 'text-red-500' : 'text-gray-700'">Vorname*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="firstName"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="firstName"/>
|
||||
<div class="text-red-500" x-show="formErrors.firstName" x-html="formErrors.firstName"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.email">
|
||||
<span x-bind:class="formErrors.email ? 'text-red-500' : 'text-gray-700'">E-Mail*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="email"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="email"/>
|
||||
<div class="text-red-500" x-show="formErrors.email" x-html="formErrors.email"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.phone">
|
||||
<span x-bind:class="formErrors.phone ? 'text-red-500' : 'text-gray-700'">Telefon/Fax*</span>
|
||||
<f:form.textfield class="form-input mt-1 block w-full" property="phone"/>
|
||||
<f:form.textfield class="border-gray-400 focus:border-gray-800 mt-1 w-full" property="phone"/>
|
||||
<div class="text-red-500" x-show="formErrors.phone" x-html="formErrors.phone"></div>
|
||||
</label>
|
||||
<label class="block mb-4" x-bind:class="'has-validation-error' && formErrors.inquiry">
|
||||
<span x-bind:class="formErrors.inquiry ? 'text-red-500' : 'text-gray-700'">(Zusatz-) Wünsche</span>
|
||||
<f:form.textarea class="form-textarea mt-1 block w-full"
|
||||
<f:form.textarea class="border-gray-400 focus:border-gray-800 mt-1 w-full"
|
||||
property="inquiry"
|
||||
placeholder="z. B. Reiseleiter, Halbpension, Bus Anreise, Programm"
|
||||
cols="30" rows="5"/>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
<f:section name="DatesTable">
|
||||
<div x-show="bookable">
|
||||
<div class="ep-headbar">
|
||||
<div class="headerbar">
|
||||
Buchungsoptionen {hotel.name}
|
||||
</div>
|
||||
<f:render section="PriceToggle"/>
|
||||
@@ -328,7 +328,7 @@
|
||||
|
||||
<f:section name="PriceTable">
|
||||
<div>
|
||||
<div class="row ep-headbar">
|
||||
<div class="row headerbar">
|
||||
<div class="col-xs-6">Buchungsoptionen</div>
|
||||
<div class="col-xs-6 text-right" x-text="dateRange"></div>
|
||||
</div>
|
||||
@@ -448,7 +448,9 @@
|
||||
</template>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="ep-headbar">Inklusivleistungen</div>
|
||||
<div class="headerbar">
|
||||
Inklusivleistungen
|
||||
</div>
|
||||
<div class="ep-box">
|
||||
<ul class="list-unstyled">
|
||||
<template x-for="service in servicesIncluded">
|
||||
@@ -506,7 +508,7 @@
|
||||
roomsEndpointUri: "{ep:uri.ajax(action: 'rooms', controller: 'AjaxContingent', format: 'json', pageUid: settings.defaultAjaxUid)}"
|
||||
</f:format.raw>
|
||||
})'>
|
||||
<div class="ep-headbar" x-text="headerLabel"></div>
|
||||
<div class="headerbar" x-text="headerLabel"></div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<div class="date-select">
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="ep-headbar">Wähle deine Unterkunft</div>
|
||||
<div class="headerbar">
|
||||
Wähle deine Unterkunft
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
|
||||
#<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
|
||||
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"
|
||||
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers">
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
<button type="submit" class="w-1/3 text-white uppercase py-2" x-bind:disabled="loading">
|
||||
Detailsuche
|
||||
</button>
|
||||
<button type="submit" class="w-1/3 text-white ep:bg-ep-primary-light uppercase py-2" x-bind:disabled="loading">
|
||||
<button type="submit" class="w-1/3 text-white bg-ep-primary-light uppercase py-2" x-bind:disabled="loading">
|
||||
Alle anzeigen
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -6,13 +6,13 @@ $EM_CONF[$_EXTKEY] = [
|
||||
'category' => 'plugins',
|
||||
'author' => 'Björn Fromme',
|
||||
'author_email' => '[email protected]',
|
||||
'state' => 'stable',
|
||||
'state' => 'beta',
|
||||
'internal' => '',
|
||||
'uploadfolder' => true,
|
||||
'createDirs' => '',
|
||||
'dividers2tabs' => true,
|
||||
'clearCacheOnLoad' => 0,
|
||||
'version' => '1.1.0',
|
||||
'version' => '3.0.0',
|
||||
'constraints' => [
|
||||
'depends' => [],
|
||||
'conflicts' => [],
|
||||
|
||||
+19
-3
@@ -10,8 +10,7 @@ module.exports = {
|
||||
'./public/typo3conf/ext/ep_theme/Resources/Private/Layouts/**/*.html',
|
||||
'./public/typo3conf/ext/ep_theme/Resources/Private/Partials/**/*.html',
|
||||
'./public/typo3conf/ext/ep_theme/Resources/Private/Templates/**/*.html',
|
||||
'./public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/**/*.js',
|
||||
'./public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/**/*.vue',
|
||||
'./public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/**/*.{js,vue}',
|
||||
'./public/typo3conf/ext/ep_theme/Classes/ViewHelpers/**/*.php',
|
||||
],
|
||||
},
|
||||
@@ -35,14 +34,30 @@ module.exports = {
|
||||
'black': tinycolor('#000000').setAlpha(0.85).toRgbString(),
|
||||
'white': tinycolor('#ffffff').setAlpha(0.85).toRgbString(),
|
||||
},
|
||||
'concept': {
|
||||
'default': '#005ca9',
|
||||
'bdg': '#005ca9',
|
||||
'skr': '#005ca9',
|
||||
'evt': '#ed5454',
|
||||
'fam': '#7ca7d5',
|
||||
'grp': '#ffa300',
|
||||
'prg': '#005ca9',
|
||||
'ind': '#009fe3',
|
||||
'wkd': '#44d04e',
|
||||
'spz': '#436a8a',
|
||||
'epe': '#436a8a',
|
||||
'sfl': '#999',
|
||||
},
|
||||
'ep': {
|
||||
'primary': '#009fe3',
|
||||
'primary': '#3d8ccb',
|
||||
'secondary': '#f0bc44',
|
||||
'primary-light': '#009fff',
|
||||
'primary-medium': '#165883',
|
||||
'primary-dark': '#18527B',
|
||||
'primary-10': tinycolor('#009fe3').setAlpha(0.1).toRgbString(),
|
||||
'primary-80': tinycolor('#009fe3').setAlpha(0.8).toRgbString(),
|
||||
'secondary-10': tinycolor('#f0bc44').setAlpha(0.1).toRgbString(),
|
||||
'secondary-80': tinycolor('#f0bc44').setAlpha(0.8).toRgbString(),
|
||||
},
|
||||
'sbw': {
|
||||
'primary': '#f0bc44',
|
||||
@@ -93,6 +108,7 @@ module.exports = {
|
||||
variants: ['sbw', 'snz', 'uch'],
|
||||
}),
|
||||
require('@tailwindcss/aspect-ratio'),
|
||||
require('@tailwindcss/forms'),
|
||||
plugin(function ({addVariant, e}) {
|
||||
addVariant('first-type', ({modifySelectors, separator}) => {
|
||||
modifySelectors(({className}) => {
|
||||
|
||||
+3
-3
@@ -5,9 +5,9 @@ Encore
|
||||
.setOutputPath('./public/typo3conf/ext/ep_theme/Resources/Public/')
|
||||
.setPublicPath('/typo3conf/ext/ep_theme/Resources/Public/')
|
||||
.addEntry('main', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/main.js')
|
||||
.addEntry('boarderweek', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/boarderweek.js')
|
||||
.addEntry('snowzone', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/snowzone.js')
|
||||
.addEntry('unichamp', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/unichamp.js')
|
||||
// .addEntry('boarderweek', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/boarderweek.js')
|
||||
// .addEntry('snowzone', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/snowzone.js')
|
||||
// .addEntry('unichamp', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/js/unichamp.js')
|
||||
.addStyleEntry('rte', './public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/rte.scss')
|
||||
.addExternals({
|
||||
jquery: 'jQuery',
|
||||
|
||||
Reference in New Issue
Block a user