42 private $getUtilityPageIdentifiers;
60 $this->getUtilityPageIdentifiers = $getUtilityPageIdentifiers ?:
72 $this->
_init(
'cms_page',
'page_id');
81 return $this->metadataPool->getMetadata(PageInterface::class)->getEntityConnection();
92 $entityMetadata = $this->metadataPool->getMetadata(PageInterface::class);
93 $linkField = $entityMetadata->getLinkField();
97 [$this->
getIdFieldName(),
'url' =>
'identifier',
'updated_at' =>
'update_time']
99 [
'store_table' => $this->
getTable(
'cms_page_store')],
100 "main_table.{$linkField} = store_table.$linkField",
103 'main_table.is_active = 1' 105 'main_table.identifier NOT IN (?)',
106 $this->getUtilityPageIdentifiers->execute()
108 'store_table.store_id IN(?)',
130 $object = new \Magento\Framework\DataObject();
132 $object->setUrl(
$data[
'url']);
133 $object->setUpdatedAt(
$data[
'updated_at']);
149 $entityMetadata = $this->metadataPool->getMetadata(PageInterface::class);
151 if (!is_numeric(
$value) && $field ===
null) {
152 $field =
'identifier';
154 $field = $entityMetadata->getIdentifierField();
158 if ($field != $entityMetadata->getIdentifierField() || $object->getStoreId()) {
161 ->columns($this->
getMainTable() .
'.' . $entityMetadata->getIdentifierField())
169 $this->entityManager->load($object,
$value);
181 return $this->
delete($object);
199 $this->objectRelationProcessor->validateDataIntegrity($this->
getMainTable(), $object->
getData());
200 $this->entityManager->save($object);
206 }
catch (\Exception $e) {
220 $this->entityManager->delete($object);
addCommitCallback($callback)
processAfterSaves(\Magento\Framework\Model\AbstractModel $object)
load(AbstractModel $object, $value, $field=null)
getData($key='', $index=null)
elseif(isset( $params[ 'redirect_parent']))
unserializeFields(\Magento\Framework\Model\AbstractModel $object)
_prepareObject(array $data)
_getLoadSelect($field, $value, $object)
_init($mainTable, $idFieldName)
__construct(Context $context, MetadataPool $metadataPool, EntityManager $entityManager, $connectionName=null, GetUtilityPageIdentifiersInterface $getUtilityPageIdentifiers=null)
_beforeSave(\Magento\Framework\Model\AbstractModel $object)
isModified(\Magento\Framework\Model\AbstractModel $object)
save(AbstractModel $object)
processNotModifiedSave(\Magento\Framework\Model\AbstractModel $object)
_checkUnique(\Magento\Framework\Model\AbstractModel $object)
_serializeFields(\Magento\Framework\Model\AbstractModel $object)
isDeleted($isDeleted=null)