12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?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;
- }
- }
|