Services.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Manage currency import services block
  8. *
  9. * @author Magento Core Team <core@magentocommerce.com>
  10. */
  11. namespace Magento\CurrencySymbol\Block\Adminhtml\System\Currency\Rate;
  12. class Services extends \Magento\Backend\Block\Template
  13. {
  14. /**
  15. * @var string
  16. */
  17. protected $_template = 'Magento_CurrencySymbol::system/currency/rate/services.phtml';
  18. /**
  19. * @var \Magento\Directory\Model\Currency\Import\Source\ServiceFactory
  20. */
  21. protected $_srcCurrencyFactory;
  22. /**
  23. * @param \Magento\Backend\Block\Template\Context $context
  24. * @param \Magento\Directory\Model\Currency\Import\Source\ServiceFactory $srcCurrencyFactory
  25. * @param array $data
  26. */
  27. public function __construct(
  28. \Magento\Backend\Block\Template\Context $context,
  29. \Magento\Directory\Model\Currency\Import\Source\ServiceFactory $srcCurrencyFactory,
  30. array $data = []
  31. ) {
  32. $this->_srcCurrencyFactory = $srcCurrencyFactory;
  33. parent::__construct($context, $data);
  34. }
  35. /**
  36. * Create import services form select element
  37. *
  38. * @return \Magento\Framework\View\Element\AbstractBlock
  39. */
  40. protected function _prepareLayout()
  41. {
  42. $this->setChild(
  43. 'import_services',
  44. $this->getLayout()->createBlock(
  45. \Magento\Framework\View\Element\Html\Select::class
  46. )->setOptions(
  47. $this->_srcCurrencyFactory->create()->toOptionArray()
  48. )->setId(
  49. 'rate_services'
  50. )->setClass(
  51. 'admin__control-select'
  52. )->setName(
  53. 'rate_services'
  54. )->setValue(
  55. $this->_backendSession->getCurrencyRateService(true)
  56. )->setTitle(
  57. __('Import Service')
  58. )
  59. );
  60. return parent::_prepareLayout();
  61. }
  62. }