123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Cms\Block;
- use Magento\Framework\View\Element\AbstractBlock;
- /**
- * Cms block content block
- */
- class Block extends AbstractBlock implements \Magento\Framework\DataObject\IdentityInterface
- {
- /**
- * @var \Magento\Cms\Model\Template\FilterProvider
- */
- protected $_filterProvider;
- /**
- * Store manager
- *
- * @var \Magento\Store\Model\StoreManagerInterface
- */
- protected $_storeManager;
- /**
- * Block factory
- *
- * @var \Magento\Cms\Model\BlockFactory
- */
- protected $_blockFactory;
- /**
- * Construct
- *
- * @param \Magento\Framework\View\Element\Context $context
- * @param \Magento\Cms\Model\Template\FilterProvider $filterProvider
- * @param \Magento\Store\Model\StoreManagerInterface $storeManager
- * @param \Magento\Cms\Model\BlockFactory $blockFactory
- * @param array $data
- */
- public function __construct(
- \Magento\Framework\View\Element\Context $context,
- \Magento\Cms\Model\Template\FilterProvider $filterProvider,
- \Magento\Store\Model\StoreManagerInterface $storeManager,
- \Magento\Cms\Model\BlockFactory $blockFactory,
- array $data = []
- ) {
- parent::__construct($context, $data);
- $this->_filterProvider = $filterProvider;
- $this->_storeManager = $storeManager;
- $this->_blockFactory = $blockFactory;
- }
- /**
- * Prepare Content HTML
- *
- * @return string
- */
- protected function _toHtml()
- {
- $blockId = $this->getBlockId();
- $html = '';
- if ($blockId) {
- $storeId = $this->_storeManager->getStore()->getId();
- /** @var \Magento\Cms\Model\Block $block */
- $block = $this->_blockFactory->create();
- $block->setStoreId($storeId)->load($blockId);
- if ($block->isActive()) {
- $html = $this->_filterProvider->getBlockFilter()->setStoreId($storeId)->filter($block->getContent());
- }
- }
- return $html;
- }
- /**
- * Return identifiers for produced content
- *
- * @return array
- */
- public function getIdentities()
- {
- return [\Magento\Cms\Model\Block::CACHE_TAG . '_' . $this->getBlockId()];
- }
- }
|