Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Attribute.php
Go to the documentation of this file.
1 <?php
7 
11 
48 class Attribute extends \Magento\Eav\Model\Entity\Attribute
49 {
55  protected $_eventPrefix = 'catalog_entity_attribute';
56 
62  protected $_eventObject = 'attribute';
63 
64  const MODULE_NAME = 'Magento_Catalog';
65 
69  protected $attrLockValidator;
70 
94  public function __construct(
95  \Magento\Framework\Model\Context $context,
96  \Magento\Framework\Registry $registry,
97  \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory,
99  \Magento\Eav\Model\Config $eavConfig,
100  \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory,
102  \Magento\Eav\Model\ResourceModel\Helper $resourceHelper,
103  \Magento\Framework\Validator\UniversalFactory $universalFactory,
104  \Magento\Eav\Api\Data\AttributeOptionInterfaceFactory $optionDataFactory,
105  \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor,
106  \Magento\Framework\Api\DataObjectHelper $dataObjectHelper,
107  \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
108  \Magento\Catalog\Model\Product\ReservedAttributeList $reservedAttributeList,
109  \Magento\Framework\Locale\ResolverInterface $localeResolver,
111  LockValidatorInterface $lockValidator,
112  \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
113  \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
114  array $data = []
115  ) {
116  $this->attrLockValidator = $lockValidator;
117  parent::__construct(
118  $context,
119  $registry,
120  $extensionFactory,
122  $eavConfig,
123  $eavTypeFactory,
125  $resourceHelper,
126  $universalFactory,
130  $localeDate,
132  $localeResolver,
134  $resource,
135  $resourceCollection,
136  $data
137  );
138  }
139 
146  public function beforeSave()
147  {
148  try {
149  $this->attrLockValidator->validate($this);
150  } catch (\Magento\Framework\Exception\LocalizedException $exception) {
151  throw new \Magento\Framework\Exception\LocalizedException(__($exception->getMessage()));
152  }
153 
154  $this->setData('modulePrefix', self::MODULE_NAME);
155  return parent::beforeSave();
156  }
157 
163  public function afterSave()
164  {
168  $this->_eavConfig->clear();
169  return parent::afterSave();
170  }
171 }
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, AttributeValueFactory $customAttributeFactory, \Magento\Eav\Model\Config $eavConfig, \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Eav\Model\ResourceModel\Helper $resourceHelper, \Magento\Framework\Validator\UniversalFactory $universalFactory, \Magento\Eav\Api\Data\AttributeOptionInterfaceFactory $optionDataFactory, \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Magento\Catalog\Model\Product\ReservedAttributeList $reservedAttributeList, \Magento\Framework\Locale\ResolverInterface $localeResolver, DateTimeFormatterInterface $dateTimeFormatter, LockValidatorInterface $lockValidator, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
Definition: Attribute.php:94
$storeManager
__()
Definition: __.php:13
$resource
Definition: bulk.php:12