fix: generate correct referring urls
This commit is contained in:
@@ -137,6 +137,7 @@ class SearchController extends ActionController
|
|||||||
->uriBuilder
|
->uriBuilder
|
||||||
->reset()
|
->reset()
|
||||||
->setTargetPageUid($this->settings['defaultSearchPageUid'])
|
->setTargetPageUid($this->settings['defaultSearchPageUid'])
|
||||||
|
->setCreateAbsoluteUri(true)
|
||||||
->uriFor(
|
->uriFor(
|
||||||
'searchresult',
|
'searchresult',
|
||||||
['filterSettings' => $filterSettings],
|
['filterSettings' => $filterSettings],
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ class ProductViewHelper extends AbstractViewHelper
|
|||||||
$this->registerArgument('forceHotelUid', 'bool', 'Whether to force link a hotel');
|
$this->registerArgument('forceHotelUid', 'bool', 'Whether to force link a hotel');
|
||||||
$this->registerArgument('dateFrom', 'string', 'Date to limit table on detail page by (Y-m-d)');
|
$this->registerArgument('dateFrom', 'string', 'Date to limit table on detail page by (Y-m-d)');
|
||||||
$this->registerArgument('dateTo', 'string', 'Date to limit table on detail page by (Y-m-d)');
|
$this->registerArgument('dateTo', 'string', 'Date to limit table on detail page by (Y-m-d)');
|
||||||
|
$this->registerArgument('ref', 'string', 'Referring URL');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,13 +82,21 @@ class ProductViewHelper extends AbstractViewHelper
|
|||||||
|
|
||||||
$targetPageUid = is_array($product) ? (int)$product['detailPage'] : $product->getDetailPage();
|
$targetPageUid = is_array($product) ? (int)$product['detailPage'] : $product->getDetailPage();
|
||||||
|
|
||||||
return $renderingContext
|
$uri = $renderingContext
|
||||||
->getControllerContext()
|
->getControllerContext()
|
||||||
->getUriBuilder()
|
->getUriBuilder()
|
||||||
->reset()
|
->reset()
|
||||||
->setTargetPageUid($targetPageUid)
|
->setTargetPageUid($targetPageUid)
|
||||||
->uriFor('detail', $linkArguments, 'Product', 'epproducts', 'product_detail')
|
->uriFor('detail', $linkArguments, 'Product', 'epproducts', 'product_detail')
|
||||||
;
|
;
|
||||||
|
|
||||||
|
if ($arguments['ref']) {
|
||||||
|
$referringPageUri = urlencode($arguments['ref']);
|
||||||
|
$separator = false !== strpos($uri, '?') ? '&' : '?';
|
||||||
|
$uri .= $separator . 'ref=' . $referringPageUri;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<f:section name="TeaserImage">
|
<f:section name="TeaserImage">
|
||||||
<div class="relative{f:if(condition: landscape, then: ' sm:w-2/5')}">
|
<div class="relative{f:if(condition: landscape, then: ' sm:w-2/5')}">
|
||||||
<a href="{ep:uri.product(forceHotelUid: forceHotelUid, product: product, hotel: hotel, dateFrom: dateFrom, dateTo: dateTo)}{f:if(condition: referringPageUri, then: '?ref={referringPageUri -> f:format.urlencode()}')}"
|
<a href="{ep:uri.product(forceHotelUid: forceHotelUid, product: product, hotel: hotel, dateFrom: dateFrom, dateTo: dateTo, ref: referringPageUri)}"
|
||||||
title="{region.name} {product.name} Details und Buchen">
|
title="{region.name} {product.name} Details und Buchen">
|
||||||
<f:if condition="{productImage}">
|
<f:if condition="{productImage}">
|
||||||
<f:then>
|
<f:then>
|
||||||
|
|||||||
Reference in New Issue
Block a user