1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Payment\Block\Info;
- /**
- * Payment information container block
- *
- * @api
- * @since 100.0.2
- */
- abstract class AbstractContainer extends \Magento\Framework\View\Element\Template
- {
- /**
- * Payment data
- *
- * @var \Magento\Payment\Helper\Data
- */
- protected $_paymentData = null;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Payment\Helper\Data $paymentData
- * @param array $data
- */
- public function __construct(
- \Magento\Framework\View\Element\Template\Context $context,
- \Magento\Payment\Helper\Data $paymentData,
- array $data = []
- ) {
- $this->_paymentData = $paymentData;
- parent::__construct($context, $data);
- }
- /**
- * Add payment info block to layout
- *
- * @return $this
- */
- protected function _prepareLayout()
- {
- if ($info = $this->getPaymentInfo()) {
- $this->setChild($this->_getInfoBlockName(), $this->_paymentData->getInfoBlock($info, $this->getLayout()));
- }
- return parent::_prepareLayout();
- }
- /**
- * Retrieve info block name
- *
- * @return string|false
- */
- protected function _getInfoBlockName()
- {
- if ($info = $this->getPaymentInfo()) {
- return 'payment.info.' . $info->getMethodInstance()->getCode();
- }
- return false;
- }
- /**
- * Retrieve payment info model
- *
- * @return \Magento\Payment\Model\Info|false
- */
- abstract public function getPaymentInfo();
- /**
- * Declare info block template
- *
- * @param string $method
- * @param string $template
- * @return $this
- */
- public function setInfoTemplate($method = '', $template = '')
- {
- if ($info = $this->getPaymentInfo()) {
- if ($info->getMethodInstance()->getCode() == $method) {
- $this->getChildBlock($this->_getInfoBlockName())->setTemplate($template);
- }
- }
- return $this;
- }
- }
|