Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Block.php
Go to the documentation of this file.
1 <?php
7 namespace Magento\Cms\Block;
8 
10 
14 class Block extends AbstractBlock implements \Magento\Framework\DataObject\IdentityInterface
15 {
19  protected $_filterProvider;
20 
26  protected $_storeManager;
27 
33  protected $_blockFactory;
34 
44  public function __construct(
45  \Magento\Framework\View\Element\Context $context,
46  \Magento\Cms\Model\Template\FilterProvider $filterProvider,
47  \Magento\Store\Model\StoreManagerInterface $storeManager,
48  \Magento\Cms\Model\BlockFactory $blockFactory,
49  array $data = []
50  ) {
51  parent::__construct($context, $data);
52  $this->_filterProvider = $filterProvider;
53  $this->_storeManager = $storeManager;
54  $this->_blockFactory = $blockFactory;
55  }
56 
62  protected function _toHtml()
63  {
64  $blockId = $this->getBlockId();
65  $html = '';
66  if ($blockId) {
67  $storeId = $this->_storeManager->getStore()->getId();
69  $block = $this->_blockFactory->create();
70  $block->setStoreId($storeId)->load($blockId);
71  if ($block->isActive()) {
72  $html = $this->_filterProvider->getBlockFilter()->setStoreId($storeId)->filter($block->getContent());
73  }
74  }
75  return $html;
76  }
77 
83  public function getIdentities()
84  {
85  return [\Magento\Cms\Model\Block::CACHE_TAG . '_' . $this->getBlockId()];
86  }
87 }
__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=[])
Definition: Block.php:44
$storeManager
$block
Definition: block.php:8