Skip to content

Commit 0f6750d

Browse files
committed
[BUGFIX] Enable links for SingleProduct plugin
Link from the cart product list to products which are put into the cart from a landing page (doktype `183`) via the plugin `cartproducts_singleproduct` are no correctly resolved.
1 parent 85621c6 commit 0f6750d

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

Classes/Controller/ProductController.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ public function showAction(Product $product = null): ResponseInterface
185185
{
186186
if ((int)$GLOBALS['TSFE']->page['doktype'] === 183) {
187187
$productUid = (int)$GLOBALS['TSFE']->page['cart_products_product'];
188-
$product = $this->productRepository->findByUid($productUid);
188+
$product = $this->productRepository->findByUid($productUid);
189189
}
190190

191191
$this->view->assign('product', $product);
@@ -349,18 +349,24 @@ protected function restoreSession(): void
349349
private function getDetailLinkData(Request $request): array
350350
{
351351
$frontendController = $request->getAttribute('frontend.controller');
352+
$detailPageUid = $frontendController->getRequestedId();
353+
352354
$requestArguments = $frontendController->getPageArguments()->getArguments();
353355

354356
$pluginNamespace = preg_grep('/tx_cartproducts_.*/', array_keys($requestArguments));
355357
$pluginNamespace = array_shift($pluginNamespace);
356358

359+
if (!$pluginNamespace) {
360+
return [
361+
'uid' => $detailPageUid,
362+
];
363+
}
364+
357365
$pluginArguments = $requestArguments[$pluginNamespace];
358366
$controller = $pluginArguments['controller'];
359367
$action = $pluginArguments['action'];
360368
$pluginName = preg_replace('/tx_cartproducts_/', '', $pluginNamespace);
361369

362-
$detailPageUid = $frontendController->getRequestedId();
363-
364370
return [
365371
'uid' => $detailPageUid,
366372
'pluginName' => $pluginName,

0 commit comments

Comments
 (0)