12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Robots\Block;
- use Magento\Framework\DataObject\IdentityInterface;
- use Magento\Framework\View\Element\AbstractBlock;
- use Magento\Framework\View\Element\Context;
- use Magento\Robots\Model\Config\Value;
- use Magento\Robots\Model\Robots;
- use Magento\Store\Model\StoreResolver;
- use Magento\Store\Model\StoreManagerInterface;
- /**
- * Robots Block Class.
- *
- * Prepares base content for robots.txt and implements Page Cache functionality.
- *
- * @api
- * @since 100.1.0
- */
- class Data extends AbstractBlock implements IdentityInterface
- {
- /**
- * @var Robots
- */
- private $robots;
- /**
- * @var StoreManagerInterface
- */
- private $storeManager;
- /**
- * @param Context $context
- * @param Robots $robots
- * @param StoreResolver $storeResolver
- * @param StoreManagerInterface|null $storeManager
- * @param array $data
- *
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function __construct(
- Context $context,
- Robots $robots,
- StoreResolver $storeResolver,
- StoreManagerInterface $storeManager = null,
- array $data = []
- ) {
- $this->robots = $robots;
- $this->storeManager = $storeManager ?: \Magento\Framework\App\ObjectManager::getInstance()
- ->get(StoreManagerInterface::class);
- parent::__construct($context, $data);
- }
- /**
- * Retrieve base content for robots.txt file
- *
- * @return string
- * @since 100.1.0
- */
- protected function _toHtml()
- {
- return $this->robots->getData() . PHP_EOL;
- }
- /**
- * Get unique page cache identities
- *
- * @return array
- * @since 100.1.0
- */
- public function getIdentities()
- {
- return [
- Value::CACHE_TAG . '_' . $this->storeManager->getStore()->getId(),
- ];
- }
- }
|