123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Checkout\Block;
- /**
- * Onepage checkout block
- * @api
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
- * @since 100.0.2
- */
- class Onepage extends \Magento\Framework\View\Element\Template
- {
- /**
- * @var \Magento\Framework\Data\Form\FormKey
- */
- protected $formKey;
- /**
- * @var bool
- */
- protected $_isScopePrivate = false;
- /**
- * @var array
- */
- protected $jsLayout;
- /**
- * @var \Magento\Checkout\Model\CompositeConfigProvider
- */
- protected $configProvider;
- /**
- * @var array|\Magento\Checkout\Block\Checkout\LayoutProcessorInterface[]
- */
- protected $layoutProcessors;
- /**
- * @var \Magento\Framework\Serialize\SerializerInterface
- */
- private $serializer;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Framework\Data\Form\FormKey $formKey
- * @param \Magento\Checkout\Model\CompositeConfigProvider $configProvider
- * @param array $layoutProcessors
- * @param array $data
- * @param \Magento\Framework\Serialize\Serializer\Json $serializer
- * @param \Magento\Framework\Serialize\SerializerInterface $serializerInterface
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function __construct(
- \Magento\Framework\View\Element\Template\Context $context,
- \Magento\Framework\Data\Form\FormKey $formKey,
- \Magento\Checkout\Model\CompositeConfigProvider $configProvider,
- array $layoutProcessors = [],
- array $data = [],
- \Magento\Framework\Serialize\Serializer\Json $serializer = null,
- \Magento\Framework\Serialize\SerializerInterface $serializerInterface = null
- ) {
- parent::__construct($context, $data);
- $this->formKey = $formKey;
- $this->_isScopePrivate = true;
- $this->jsLayout = isset($data['jsLayout']) && is_array($data['jsLayout']) ? $data['jsLayout'] : [];
- $this->configProvider = $configProvider;
- $this->layoutProcessors = $layoutProcessors;
- $this->serializer = $serializerInterface ?: \Magento\Framework\App\ObjectManager::getInstance()
- ->get(\Magento\Framework\Serialize\Serializer\JsonHexTag::class);
- }
- /**
- * @inheritdoc
- */
- public function getJsLayout()
- {
- foreach ($this->layoutProcessors as $processor) {
- $this->jsLayout = $processor->process($this->jsLayout);
- }
- return $this->serializer->serialize($this->jsLayout);
- }
- /**
- * Retrieve form key
- *
- * @return string
- * @codeCoverageIgnore
- */
- public function getFormKey()
- {
- return $this->formKey->getFormKey();
- }
- /**
- * Retrieve checkout configuration
- *
- * @return array
- * @codeCoverageIgnore
- */
- public function getCheckoutConfig()
- {
- return $this->configProvider->getConfig();
- }
- /**
- * Get base url for block.
- *
- * @return string
- * @codeCoverageIgnore
- */
- public function getBaseUrl()
- {
- return $this->_storeManager->getStore()->getBaseUrl();
- }
- /**
- * Retrieve serialized checkout config.
- *
- * @return bool|string
- * @since 100.2.0
- */
- public function getSerializedCheckoutConfig()
- {
- return $this->serializer->serialize($this->getCheckoutConfig());
- }
- }
|