From 8bf518e5d749a0af0050ab0d83080008d5fac2d9 Mon Sep 17 00:00:00 2001 From: rintisch Date: Thu, 20 Jun 2024 06:26:55 +0200 Subject: [PATCH] [TASK] Introduce `DetailPageLink` object + factory --- Classes/Domain/Model/Cart/DetailPageLink.php | 43 +++++++++++++++++++ .../Model/Cart/DetailPageLinkFactory.php | 28 ++++++++++++ .../Cart/DetailPageLinkFactoryInterface.php | 22 ++++++++++ Classes/Domain/Model/Cart/Product.php | 15 +++---- .../Cart/ProductForm/ProductList.html | 18 ++++---- 5 files changed, 107 insertions(+), 19 deletions(-) create mode 100644 Classes/Domain/Model/Cart/DetailPageLink.php create mode 100644 Classes/Domain/Model/Cart/DetailPageLinkFactory.php create mode 100644 Classes/Domain/Model/Cart/DetailPageLinkFactoryInterface.php diff --git a/Classes/Domain/Model/Cart/DetailPageLink.php b/Classes/Domain/Model/Cart/DetailPageLink.php new file mode 100644 index 00000000..6fe3debf --- /dev/null +++ b/Classes/Domain/Model/Cart/DetailPageLink.php @@ -0,0 +1,43 @@ +pageUid; + } + + public function getExtensionName(): string + { + return $this->extensionName; + } + + public function getPluginName(): string + { + return $this->pluginName; + } + + public function getController(): string + { + return $this->controller; + } +} diff --git a/Classes/Domain/Model/Cart/DetailPageLinkFactory.php b/Classes/Domain/Model/Cart/DetailPageLinkFactory.php new file mode 100644 index 00000000..596a3565 --- /dev/null +++ b/Classes/Domain/Model/Cart/DetailPageLinkFactory.php @@ -0,0 +1,28 @@ + 0) { + return new DetailPageLink($detailPageUid, $extensionName, $pluginName, $controller); + } + return null; + } +} diff --git a/Classes/Domain/Model/Cart/DetailPageLinkFactoryInterface.php b/Classes/Domain/Model/Cart/DetailPageLinkFactoryInterface.php new file mode 100644 index 00000000..1ef8299b --- /dev/null +++ b/Classes/Domain/Model/Cart/DetailPageLinkFactoryInterface.php @@ -0,0 +1,22 @@ +handleStockInVariants = $handleStockInVariants; } - public function getDetailPageParameter(): array + public function getDetailPageLink(): DetailPageLink { - return $this->detailPageParameter; + return $this->detailPageLink; } - public function setDetailPageParameter(array $detailPageParameter): void + public function setDetailPageLink(DetailPageLink $detailPageLink): void { - $this->detailPageParameter = $detailPageParameter; - } - - public function addDetailPageParameter(string $key, int|string $value): void - { - $this->detailPageParameter[$key] = $value; + $this->detailPageLink = $detailPageLink; } } diff --git a/Resources/Private/Partials/Cart/ProductForm/ProductList.html b/Resources/Private/Partials/Cart/ProductForm/ProductList.html index a40ae0f6..a949d110 100644 --- a/Resources/Private/Partials/Cart/ProductForm/ProductList.html +++ b/Resources/Private/Partials/Cart/ProductForm/ProductList.html @@ -6,13 +6,13 @@
- + {product.title} {f:if(condition:'{product.feVariant.value}',then:'- {product.feVariant.value}')} @@ -77,10 +77,10 @@ {variant.title}