46 \
Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
47 \
Magento\Framework\View\DesignInterface $design,
52 $this->_localeDate = $localeDate;
53 $this->_design = $design;
65 $this->_design->setDesignTheme($design);
78 $currentCategory = $object->getCategory();
80 $currentCategory = $object;
84 if ($currentCategory) {
85 $category = $currentCategory->getParentDesignCategory($currentCategory);
107 $settings = new \Magento\Framework\DataObject();
111 $date = $object->getCustomDesignDate();
112 if (array_key_exists(
115 ) && array_key_exists(
118 ) && $this->_localeDate->isScopeDateInInterval(
125 $object->getCustomDesign()
127 $object->getPageLayout()
129 (array)$object->getCustomLayoutUpdate()
144 if ($productSettings->getCustomDesign()) {
145 $categorySettings->setCustomDesign($productSettings->getCustomDesign());
147 if ($productSettings->getPageLayout()) {
148 $categorySettings->setPageLayout($productSettings->getPageLayout());
150 if ($productSettings->getLayoutUpdates()) {
151 $update = array_merge($categorySettings->getLayoutUpdates(), $productSettings->getLayoutUpdates());
152 $categorySettings->setLayoutUpdates($update);
154 return $categorySettings;
applyCustomDesign($design)
getDesignSettings($object)
_mergeSettings($categorySettings, $productSettings)
_extractSettings($object)
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])