Example #1
0
 /**
  * Extract custom layout settings from category or product object
  *
  * @param \Magento\Catalog\Model\Category|\Magento\Catalog\Model\Product $object
  * @return \Magento\Framework\Object
  */
 protected function _extractSettings($object)
 {
     $settings = new \Magento\Framework\Object();
     if (!$object) {
         return $settings;
     }
     $date = $object->getCustomDesignDate();
     if (array_key_exists('from', $date) && array_key_exists('to', $date) && $this->_localeDate->isScopeDateInInterval(null, $date['from'], $date['to'])) {
         $settings->setCustomDesign($object->getCustomDesign())->setPageLayout($object->getPageLayout())->setLayoutUpdates((array) $object->getCustomLayoutUpdate());
     }
     return $settings;
 }
 public function testGetCustomDesignDate()
 {
     $this->assertEquals(['from' => null, 'to' => null], $this->_model->getCustomDesignDate());
     $this->_model->setCustomDesignFrom(1)->setCustomDesignTo(2);
     $this->assertEquals(['from' => 1, 'to' => 2], $this->_model->getCustomDesignDate());
 }
 /**
  * {@inheritdoc}
  */
 public function getCustomDesignDate()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getCustomDesignDate');
     if (!$pluginInfo) {
         return parent::getCustomDesignDate();
     } else {
         return $this->___callPlugins('getCustomDesignDate', func_get_args(), $pluginInfo);
     }
 }