
How to get Valid From and Valid To to the Yves Product List / Detail Page ?

What is the easiest way to display the valid from and valid to of a product?
My current solution is to add
ProductPageDataExpanderPluginInterface,
ProductConcretePageMapExpanderPluginInterface
and ProductAbstractMapExpanderPluginInterface plugins.
Inject the
\Spryker\Zed\ProductValidity\Business\ProductValidityFacade::expandProductConcreteTransfersWithValidity
Facade
create a fake ProductConcreteTransfer, add the ID
then get from the transfer the validity
And add this to the page Search data so it can be displayed on the PLP.
But that seems a bit compliacted. So I hope I am missing something here. :)
And I not really understand why the product data is an array that is gathered by direct DB Queries and not provided by the product client.
Cheers Karsten
Answers
-
I now do this ofc with DI and Factory 😘
public function expandProductPageData( array $productData, ProductPageSearchTransfer $productAbstractPageSearchTransfer, ): void { $productFacade = $this->getFactory()->getIpsProductFacade(); $productValidityFacade = $this->getFactory()->getValidityFacade(); $productConcreteTransfer = new ProductConcreteTransfer(); $productConcretes = $productFacade->getConcreteProductsByAbstractProductId($productData['fk_product_abstract']); if (count($productConcretes) !== 1) { return; } $productConcreteTransfer->setIdProductConcrete($productConcretes[0]->getIdProductConcrete()); $productValidityTransfers = $productValidityFacade->expandProductConcreteTransfersWithValidity([$productConcreteTransfer]); if (count($productValidityTransfers) !== 1) { return; } $productAbstractPageSearchTransfer->setValidFrom($productValidityTransfers[0]->getValidFrom()); $productAbstractPageSearchTransfer->setValidTo($productValidityTransfers[0]->getValidTo()); }
0
Categories
- All Categories
- 42 Getting Started & Guidelines
- 7 Getting Started in the Community
- 8 Additional Resources
- 7 Community Ideas and Feedback
- 100 Spryker News
- 983 Developer Corner
- 833 Spryker Development
- 92 Spryker Dev Environment
- 362 Spryker Releases
- 3 Oryx frontend framework
- 36 Propel ORM
- 68 Community Projects
- 3 Community Ideation Board
- 30 Hackathon
- 3 PHP Bridge
- 6 Gacela Project
- 32 Job Opportunities
- 3.2K 📜 Slack Archives
- 116 Academy
- 5 Business Users
- 370 Docker
- 551 Slack General
- 2K Help
- 75 Knowledge Sharing
- 6 Random Stuff
- 4 Code Testing
- 33 Product & Business Questions
- 70 Spryker Safari Questions
- 50 Random