Form.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Vault\Block;
  7. use Magento\Framework\View\Element\Template\Context;
  8. use Magento\Payment\Model\Config;
  9. use Magento\Vault\Model\Ui\Adminhtml\TokensConfigProvider;
  10. use Magento\Payment\Model\CcConfigProvider;
  11. /**
  12. * Class Form
  13. */
  14. class Form extends \Magento\Payment\Block\Form
  15. {
  16. /**
  17. * @var TokensConfigProvider
  18. */
  19. private $tokensProvider;
  20. /**
  21. * @var CcConfigProvider
  22. */
  23. private $cardConfigProvider;
  24. /**
  25. * @param Context $context
  26. * @param TokensConfigProvider $tokensConfigProvider
  27. * @param CcConfigProvider $ccConfigProvider
  28. * @param array $data
  29. */
  30. public function __construct(
  31. Context $context,
  32. TokensConfigProvider $tokensConfigProvider,
  33. CcConfigProvider $ccConfigProvider,
  34. array $data = []
  35. ) {
  36. parent::__construct($context, $data);
  37. $this->tokensProvider = $tokensConfigProvider;
  38. $this->cardConfigProvider = $ccConfigProvider;
  39. }
  40. /**
  41. * @inheritdoc
  42. */
  43. protected function _prepareLayout()
  44. {
  45. $this->createVaultBlocks();
  46. return $this;
  47. }
  48. /**
  49. * Create block for own configuration for each payment token
  50. *
  51. * @return void
  52. */
  53. protected function createVaultBlocks()
  54. {
  55. $icons = $this->cardConfigProvider->getIcons();
  56. $payments = $this->tokensProvider->getTokensComponents($this->_nameInLayout);
  57. foreach ($payments as $key => $payment) {
  58. $this->addChild(
  59. $key,
  60. $payment->getName(),
  61. array_merge(
  62. ['id' => $this->_nameInLayout . $key, 'icons' => $icons],
  63. $payment->getConfig()
  64. )
  65. );
  66. }
  67. }
  68. }