Streamline referring page handling
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
methods: {
|
methods: {
|
||||||
storeReferringPage () {
|
storeReferringPage () {
|
||||||
if (this.referringPage.url && this.referringPage.label) {
|
if (this.referringPage.url && this.referringPage.label) {
|
||||||
this.$session.set('referringPage', { url: this.referringPage.url, label: this.referringPage.label })
|
this.$session.set('referringPage', this.referringPage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,11 @@
|
|||||||
resultData: {},
|
resultData: {},
|
||||||
resultMeta: null,
|
resultMeta: null,
|
||||||
filterSettings: defaultFilterSettings,
|
filterSettings: defaultFilterSettings,
|
||||||
filterOptions: defaultFilterOptions
|
filterOptions: defaultFilterOptions,
|
||||||
|
referringPage: {
|
||||||
|
url: this.referringPageUrl,
|
||||||
|
label: 'zurück zum Suchergebnis'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -55,7 +59,7 @@
|
|||||||
},
|
},
|
||||||
referringPageUrl: {
|
referringPageUrl: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: null
|
||||||
},
|
},
|
||||||
argumentPrefix: {
|
argumentPrefix: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|||||||
+11
-6
@@ -2,7 +2,7 @@
|
|||||||
<div class="teaserbox teaserbox--landscape teaserbox--searchresult searchresult-item">
|
<div class="teaserbox teaserbox--landscape teaserbox--searchresult searchresult-item">
|
||||||
<div class="teaserbox__image">
|
<div class="teaserbox__image">
|
||||||
<img class="teaserbox__flag" :src="item.country.flag" :alt="item.country.name"/>
|
<img class="teaserbox__flag" :src="item.country.flag" :alt="item.country.name"/>
|
||||||
<referrer-link :href="item.detailPageUri" :referring-page="{ url: referringPageUrl, label: 'zurück zum Suchergebnis' }"
|
<referrer-link :href="item.detailPageUri" :referring-page="referringPage"
|
||||||
rel="nofollow" title="Details & Buchen">
|
rel="nofollow" title="Details & Buchen">
|
||||||
<picture class="searchresult-item__image">
|
<picture class="searchresult-item__image">
|
||||||
<source media="(max-width: 768px)" :srcset="item.hotel.images.resized.s[0].url + ' 220w'"/>
|
<source media="(max-width: 768px)" :srcset="item.hotel.images.resized.s[0].url + ' 220w'"/>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
<div class="teaserbox__aside__top">
|
<div class="teaserbox__aside__top">
|
||||||
<span class="searchresult-item__label">{{ item.dates.length > 1 ? 'Zeitraum' : 'Termin' }}</span>
|
<span class="searchresult-item__label">{{ item.dates.length > 1 ? 'Zeitraum' : 'Termin' }}</span>
|
||||||
<span class="searchresult-item__daterange">{{ dateRange }}</span>
|
<span class="searchresult-item__daterange">{{ dateRange }}</span>
|
||||||
<referrer-link :href="item.detailPageUri" :referring-page="{ url: referringPageUrl, label: 'zurück zum Suchergebnis' }"
|
<referrer-link :href="item.detailPageUri" :referring-page="referringPage"
|
||||||
rel="nofollow" title="Details & Buchen" v-if="item.dates.length && !item.daytrip">
|
rel="nofollow" title="Details & Buchen" v-if="item.dates.length && !item.daytrip">
|
||||||
<span class="searchresult-item__daterange">
|
<span class="searchresult-item__daterange">
|
||||||
<i class="fa fa-arrow-circle-right"></i> {{ item.dates.length }} Termin{{ item.dates.length > 1 ? 'e' : '' }}
|
<i class="fa fa-arrow-circle-right"></i> {{ item.dates.length }} Termin{{ item.dates.length > 1 ? 'e' : '' }}
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="teaserbox__aside__bottom">
|
<div class="teaserbox__aside__bottom">
|
||||||
<span class="searchresult-item__price">ab {{ item.minPrice }} €</span>
|
<span class="searchresult-item__price">ab {{ item.minPrice }} €</span>
|
||||||
<referrer-link :href="item.detailPageUri" :referring-page="{ url: referringPageUrl, label: 'zurück zum Suchergebnis' }"
|
<referrer-link :href="item.detailPageUri" :referring-page="referringPage"
|
||||||
class="button button--full searchresult-item__button" rel="nofollow" title="Details & Buchen">
|
class="button button--full searchresult-item__button" rel="nofollow" title="Details & Buchen">
|
||||||
Details & Buchen
|
Details & Buchen
|
||||||
</referrer-link>
|
</referrer-link>
|
||||||
@@ -92,9 +92,14 @@
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
referringPageUrl: {
|
referringPage: {
|
||||||
type: String,
|
type: Object,
|
||||||
default: null
|
default () {
|
||||||
|
return {
|
||||||
|
url: null,
|
||||||
|
label: null
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
:key="item.key"
|
:key="item.key"
|
||||||
:item="item"
|
:item="item"
|
||||||
:section="section"
|
:section="section"
|
||||||
|
:referring-page="referringPage"
|
||||||
:watchlist="watchlist"></search-result-item>
|
:watchlist="watchlist"></search-result-item>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -38,22 +39,26 @@
|
|||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
referringPageUid: {
|
|
||||||
type: Number,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
watchlist: {
|
watchlist: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default () {
|
default () {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
referringPageUrl: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
teasers: {},
|
teasers: {},
|
||||||
total: 0,
|
total: 0,
|
||||||
loading: false
|
loading: false,
|
||||||
|
referringPage: {
|
||||||
|
url: this.referringPageUrl,
|
||||||
|
label: 'zurück zur Merkliste'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -65,7 +70,6 @@
|
|||||||
}
|
}
|
||||||
let query = {};
|
let query = {};
|
||||||
query['tx_epproducts_ajax[watchlistUids]'] = this.watchlist;
|
query['tx_epproducts_ajax[watchlistUids]'] = this.watchlist;
|
||||||
query['tx_epproducts_ajax[referringPageUid]'] = this.referringPageUid;
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
$.post(this.watchlistUri, query, (json) => {
|
$.post(this.watchlistUri, query, (json) => {
|
||||||
this.teasers = json.data;
|
this.teasers = json.data;
|
||||||
|
|||||||
@@ -303,7 +303,7 @@
|
|||||||
:key="item.key"
|
:key="item.key"
|
||||||
:item="item"
|
:item="item"
|
||||||
:section="section"
|
:section="section"
|
||||||
:referring-page-url="referringPageUrl"
|
:referring-page="referringPage"
|
||||||
:watchlist="watchlist"></search-result-item>
|
:watchlist="watchlist"></search-result-item>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -6,8 +6,9 @@
|
|||||||
|
|
||||||
<f:section name="Main">
|
<f:section name="Main">
|
||||||
|
|
||||||
<watchlist :watchlist="watchlist" :referring-page-uid="{referringPageUid}"
|
<watchlist :watchlist="watchlist"
|
||||||
loader-uri="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/ajax-loader-white.gif')}"
|
loader-uri="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/ajax-loader-white.gif')}"
|
||||||
|
referring-page-url="{f:uri.typolink(parameter: referringPageUid)}"
|
||||||
watchlist-uri="{ep:uri.ajax(action: 'list', controller: 'AjaxWatchlist', pageUid: settings.defaultAjaxUid)}"></watchlist>
|
watchlist-uri="{ep:uri.ajax(action: 'list', controller: 'AjaxWatchlist', pageUid: settings.defaultAjaxUid)}"></watchlist>
|
||||||
</f:section>
|
</f:section>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user