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