UpdateBodyClass.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Smartwave\Porto\Plugin;
  3. use Magento\Framework\App\ResponseInterface;
  4. class UpdateBodyClass
  5. {
  6. private $context;
  7. protected $helper;
  8. public function __construct(
  9. \Magento\Framework\View\Element\Context $context,
  10. \Smartwave\Porto\Helper\Data $helper
  11. ) {
  12. $this->context = $context;
  13. $this->helper = $helper;
  14. }
  15. public function beforeRenderResult(\Magento\Framework\View\Result\Page $subject, ResponseInterface $response) {
  16. $page_layout = $this->helper->getConfig('porto_settings/general/layout');
  17. if($page_layout == "full_width") {
  18. $page_layout = "layout-fullwidth";
  19. } else if($page_layout == "1140") {
  20. $page_layout = "layout-1140";
  21. } else if($page_layout == "1280") {
  22. $page_layout = "layout-1280";
  23. }
  24. if($page_layout){
  25. $subject->getConfig()->addBodyClass($page_layout);
  26. }
  27. $boxed = $this->helper->getConfig('porto_settings/general/boxed');
  28. if($boxed){
  29. $subject->getConfig()->addBodyClass($boxed);
  30. }
  31. if ($this->helper->getConfig('porto_settings/header/mobile_sticky_header'))
  32. $subject->getConfig()->addBodyClass("mobile-sticky");
  33. if ($this->helper->getConfig('porto_settings/header/header_type') == "10")
  34. $subject->getConfig()->addBodyClass("side-header");
  35. return [$response];
  36. }
  37. }