69 $this->
_init(
'cms_block',
'block_id');
77 return $this->metadataPool->getMetadata(BlockInterface::class)->getEntityConnection();
91 __(
'A block identifier with the same properties already exists in the selected store.')
107 $entityMetadata = $this->metadataPool->getMetadata(BlockInterface::class);
108 if (!is_numeric(
$value) && $field ===
null) {
109 $field =
'identifier';
111 $field = $entityMetadata->getIdentifierField();
114 if ($field != $entityMetadata->getIdentifierField() || $object->getStoreId()) {
117 ->columns($this->
getMainTable() .
'.' . $entityMetadata->getIdentifierField())
135 $blockId = $this->getBlockId($object,
$value, $field);
137 $this->entityManager->load($object, $blockId);
152 $entityMetadata = $this->metadataPool->getMetadata(BlockInterface::class);
153 $linkField = $entityMetadata->getLinkField();
157 if ($object->getStoreId()) {
161 [
'cbs' => $this->
getTable(
'cms_block_store')],
162 $this->
getMainTable() .
'.' . $linkField .
' = cbs.' . $linkField,
165 ->where(
'is_active = ?', 1)
166 ->where(
'cbs.store_id in (?)',
$stores)
167 ->order(
'store_id DESC')
183 $entityMetadata = $this->metadataPool->getMetadata(BlockInterface::class);
184 $linkField = $entityMetadata->getLinkField();
186 if ($this->_storeManager->isSingleStoreMode()) {
195 [
'cbs' => $this->
getTable(
'cms_block_store')],
196 'cb.' . $linkField .
' = cbs.' . $linkField,
199 ->where(
'cb.identifier = ?', $object->
getData(
'identifier'))
200 ->where(
'cbs.store_id IN (?)',
$stores);
202 if ($object->
getId()) {
203 $select->where(
'cb.' . $entityMetadata->getIdentifierField() .
' <> ?', $object->
getId());
223 $entityMetadata = $this->metadataPool->getMetadata(BlockInterface::class);
224 $linkField = $entityMetadata->getLinkField();
227 ->from([
'cbs' => $this->
getTable(
'cms_block_store')],
'store_id')
230 'cbs.' . $linkField .
' = cb.' . $linkField,
233 ->where(
'cb.' . $entityMetadata->getIdentifierField() .
' = :block_id');
245 $this->entityManager->save($object);
254 $this->entityManager->delete($object);
_getLoadSelect($field, $value, $object)
getData($key='', $index=null)
elseif(isset( $params[ 'redirect_parent']))
_init($mainTable, $idFieldName)
__construct(Context $context, StoreManagerInterface $storeManager, EntityManager $entityManager, MetadataPool $metadataPool, $connectionName=null)
save(AbstractModel $object)
getIsUniqueBlockToStores(AbstractModel $object)
load(AbstractModel $object, $value, $field=null)
_beforeSave(AbstractModel $object)