mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 17:27:36 +00:00
56 lines
1.4 KiB
PHP
56 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Cms\Model;
|
|
|
|
use Magento\Cms\Api\GetBlockByIdentifierInterface;
|
|
use Magento\Cms\Api\Data\BlockInterface;
|
|
use Magento\Framework\Exception\NoSuchEntityException;
|
|
|
|
/**
|
|
* Class GetBlockByIdentifier
|
|
*/
|
|
class GetBlockByIdentifier implements GetBlockByIdentifierInterface
|
|
{
|
|
/**
|
|
* @var \Magento\Cms\Model\BlockFactory
|
|
*/
|
|
private $blockFactory;
|
|
|
|
/**
|
|
* @var ResourceModel\Block
|
|
*/
|
|
private $blockResource;
|
|
|
|
/**
|
|
* @param BlockFactory $blockFactory
|
|
* @param ResourceModel\Block $blockResource
|
|
*/
|
|
public function __construct(
|
|
\Magento\Cms\Model\BlockFactory $blockFactory,
|
|
\Magento\Cms\Model\ResourceModel\Block $blockResource
|
|
) {
|
|
$this->blockFactory = $blockFactory;
|
|
$this->blockResource = $blockResource;
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function execute(string $identifier, int $storeId) : BlockInterface
|
|
{
|
|
$block = $this->blockFactory->create();
|
|
$block->setStoreId($storeId);
|
|
$this->blockResource->load($block, $identifier, BlockInterface::IDENTIFIER);
|
|
|
|
if (!$block->getId()) {
|
|
throw new NoSuchEntityException(__('The CMS block with the "%1" ID doesn\'t exist.', $identifier));
|
|
}
|
|
|
|
return $block;
|
|
}
|
|
}
|