Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
Design Class Reference
Inheritance diagram for Design:
AbstractModel DataObject

Public Member Functions

 __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=[])
 
 applyCustomDesign ($design)
 
 getDesignSettings ($object)
 
- Public Member Functions inherited from AbstractModel
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 __sleep ()
 
 __wakeup ()
 
 setIdFieldName ($name)
 
 getIdFieldName ()
 
 getId ()
 
 setId ($value)
 
 isDeleted ($isDeleted=null)
 
 hasDataChanges ()
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 setDataChanges ($value)
 
 getOrigData ($key=null)
 
 setOrigData ($key=null, $data=null)
 
 dataHasChangedFor ($field)
 
 getResourceName ()
 
 getResourceCollection ()
 
 getCollection ()
 
 load ($modelId, $field=null)
 
 beforeLoad ($identifier, $field=null)
 
 afterLoad ()
 
 isSaveAllowed ()
 
 setHasDataChanges ($flag)
 
 save ()
 
 afterCommitCallback ()
 
 isObjectNew ($flag=null)
 
 beforeSave ()
 
 validateBeforeSave ()
 
 getCacheTags ()
 
 cleanModelCache ()
 
 afterSave ()
 
 delete ()
 
 beforeDelete ()
 
 afterDelete ()
 
 afterDeleteCommit ()
 
 getResource ()
 
 getEntityId ()
 
 setEntityId ($entityId)
 
 clearInstance ()
 
 getStoredData ()
 
 getEventPrefix ()
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Data Fields

const APPLY_FOR_PRODUCT = 1
 
const APPLY_FOR_CATEGORY = 2
 

Protected Member Functions

 _extractSettings ($object)
 
 _mergeSettings ($categorySettings, $productSettings)
 
- Protected Member Functions inherited from AbstractModel
 _construct ()
 
 _init ($resourceModel)
 
 _setResourceModel ($resourceName, $collectionName=null)
 
 _getResource ()
 
 _getEventData ()
 
 _beforeLoad ($modelId, $field=null)
 
 _afterLoad ()
 
 _hasModelChanged ()
 
 _getValidatorBeforeSave ()
 
 _createValidatorBeforeSave ()
 
 _getValidationRulesBeforeSave ()
 
 _clearReferences ()
 
 _clearData ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 

Protected Attributes

 $_design = null
 
 $_localeDate
 
- Protected Attributes inherited from AbstractModel
 $_eventPrefix = 'core_abstract'
 
 $_eventObject = 'object'
 
 $_idFieldName = 'id'
 
 $_hasDataChanges = false
 
 $_origData
 
 $_isDeleted = false
 
 $_resource
 
 $_resourceCollection
 
 $_resourceName
 
 $_collectionName
 
 $_cacheTag = false
 
 $_dataSaveAllowed = true
 
 $_isObjectNew = null
 
 $_validatorBeforeSave = null
 
 $_eventManager
 
 $_cacheManager
 
 $_registry
 
 $_logger
 
 $_appState
 
 $_actionValidator
 
 $storedData = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 

Additional Inherited Members

- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

Catalog Custom Category design Model

@api

Author
Magento Core Team core@.nosp@m.mage.nosp@m.ntoco.nosp@m.mmer.nosp@m.ce.co.nosp@m.m
Since
100.0.2

Definition at line 16 of file Design.php.

Constructor & Destructor Documentation

◆ __construct()

Parameters
\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
\Magento\Framework\Data\Collection\AbstractDb$resourceCollection
array$data

Definition at line 43 of file Design.php.

51  {
52  $this->_localeDate = $localeDate;
53  $this->_design = $design;
54  parent::__construct($context, $registry, $resource, $resourceCollection, $data);
55  }
$resource
Definition: bulk.php:12

Member Function Documentation

◆ _extractSettings()

_extractSettings (   $object)
protected

Extract custom layout settings from category or product object

Parameters
\Magento\Catalog\Model\Category | \Magento\Catalog\Model\Product$object
Returns
\Magento\Framework\DataObject

Definition at line 105 of file Design.php.

106  {
107  $settings = new \Magento\Framework\DataObject();
108  if (!$object) {
109  return $settings;
110  }
111  $date = $object->getCustomDesignDate();
112  if (array_key_exists(
113  'from',
114  $date
115  ) && array_key_exists(
116  'to',
117  $date
118  ) && $this->_localeDate->isScopeDateInInterval(
119  null,
120  $date['from'],
121  $date['to']
122  )
123  ) {
124  $settings->setCustomDesign(
125  $object->getCustomDesign()
126  )->setPageLayout(
127  $object->getPageLayout()
128  )->setLayoutUpdates(
129  (array)$object->getCustomLayoutUpdate()
130  );
131  }
132  return $settings;
133  }
$settings
Definition: bootstrap.php:29

◆ _mergeSettings()

_mergeSettings (   $categorySettings,
  $productSettings 
)
protected

Merge custom design settings

Parameters
\Magento\Framework\DataObject$categorySettings
\Magento\Framework\DataObject$productSettings
Returns
\Magento\Framework\DataObject

Definition at line 142 of file Design.php.

143  {
144  if ($productSettings->getCustomDesign()) {
145  $categorySettings->setCustomDesign($productSettings->getCustomDesign());
146  }
147  if ($productSettings->getPageLayout()) {
148  $categorySettings->setPageLayout($productSettings->getPageLayout());
149  }
150  if ($productSettings->getLayoutUpdates()) {
151  $update = array_merge($categorySettings->getLayoutUpdates(), $productSettings->getLayoutUpdates());
152  $categorySettings->setLayoutUpdates($update);
153  }
154  return $categorySettings;
155  }

◆ applyCustomDesign()

applyCustomDesign (   $design)

Apply custom design

Parameters
string$design
Returns
$this

Definition at line 63 of file Design.php.

64  {
65  $this->_design->setDesignTheme($design);
66  return $this;
67  }

◆ getDesignSettings()

getDesignSettings (   $object)

Get custom layout settings

Parameters
\Magento\Catalog\Model\Category | \Magento\Catalog\Model\Product$object
Returns
\Magento\Framework\DataObject

Definition at line 75 of file Design.php.

76  {
77  if ($object instanceof \Magento\Catalog\Model\Product) {
78  $currentCategory = $object->getCategory();
79  } else {
80  $currentCategory = $object;
81  }
82 
83  $category = null;
84  if ($currentCategory) {
85  $category = $currentCategory->getParentDesignCategory($currentCategory);
86  }
87 
88  if ($object instanceof \Magento\Catalog\Model\Product) {
89  if ($category && $category->getCustomApplyToProducts()) {
90  return $this->_mergeSettings($this->_extractSettings($category), $this->_extractSettings($object));
91  } else {
92  return $this->_extractSettings($object);
93  }
94  } else {
95  return $this->_extractSettings($category);
96  }
97  }
_mergeSettings($categorySettings, $productSettings)
Definition: Design.php:142

Field Documentation

◆ $_design

$_design = null
protected

Definition at line 27 of file Design.php.

◆ $_localeDate

$_localeDate
protected

Definition at line 32 of file Design.php.

◆ APPLY_FOR_CATEGORY

const APPLY_FOR_CATEGORY = 2

Definition at line 20 of file Design.php.

◆ APPLY_FOR_PRODUCT

const APPLY_FOR_PRODUCT = 1

Definition at line 18 of file Design.php.


The documentation for this class was generated from the following file: