fix: generate correct referring urls

This commit is contained in:
Björn Fromme
2024-10-24 10:39:55 +02:00
parent 11018fd804
commit a70110df45
3 changed files with 12 additions and 2 deletions
@@ -44,6 +44,7 @@ class ProductViewHelper extends AbstractViewHelper
$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('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();
return $renderingContext
$uri = $renderingContext
->getControllerContext()
->getUriBuilder()
->reset()
->setTargetPageUid($targetPageUid)
->uriFor('detail', $linkArguments, 'Product', 'epproducts', 'product_detail')
;
if ($arguments['ref']) {
$referringPageUri = urlencode($arguments['ref']);
$separator = false !== strpos($uri, '?') ? '&' : '?';
$uri .= $separator . 'ref=' . $referringPageUri;
}
return $uri;
}
}