ResultPage.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace WeltPixel\Quickview\Plugin;
  3. class ResultPage
  4. {
  5. /**
  6. * @var \Magento\Framework\App\Request\Http
  7. */
  8. protected $request;
  9. /**
  10. * @var \Magento\Framework\View\Layout
  11. */
  12. protected $layout;
  13. /**
  14. * ResultPage constructor.
  15. * @param \Magento\Framework\App\Request\Http $request
  16. * @param \Magento\Framework\View\Layout $layout
  17. */
  18. public function __construct(
  19. \Magento\Framework\App\Request\Http $request,
  20. \Magento\Framework\View\Layout $layout)
  21. {
  22. $this->request = $request;
  23. $this->layout = $layout;
  24. }
  25. /**
  26. * Adding the default catalog_product_view_type_ handles as well
  27. *
  28. * @param \Magento\Framework\View\Result\Page $subject
  29. * @param array $parameters
  30. * @param type $defaultHandle
  31. * @return type
  32. */
  33. public function beforeAddPageLayoutHandles(
  34. \Magento\Framework\View\Result\Page $subject,
  35. array $parameters = [],
  36. $defaultHandle = null)
  37. {
  38. if ($this->request->getFullActionName() == 'weltpixel_quickview_catalog_product_view') {
  39. $arrayKeys = array_keys($parameters);
  40. if ((count($arrayKeys) == 3) &&
  41. in_array('id', $arrayKeys) &&
  42. in_array('sku', $arrayKeys) &&
  43. in_array('type', $arrayKeys)) {
  44. return [$parameters, 'catalog_product_view'];
  45. }
  46. } else {
  47. return [$parameters, $defaultHandle];
  48. }
  49. }
  50. }