Data.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Variable\Model\Variable;
  7. /**
  8. * The class purpose is returns
  9. */
  10. class Data
  11. {
  12. /**
  13. * @var \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory
  14. */
  15. private $collectionFactory;
  16. /**
  17. * @var \Magento\Variable\Model\Source\Variables
  18. */
  19. private $storesVariables;
  20. /**
  21. * @param \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory $collectionFactory
  22. * @param \Magento\Variable\Model\Source\Variables $storesVariables
  23. */
  24. public function __construct(
  25. \Magento\Variable\Model\ResourceModel\Variable\CollectionFactory $collectionFactory,
  26. \Magento\Variable\Model\Source\Variables $storesVariables
  27. ) {
  28. $this->collectionFactory = $collectionFactory;
  29. $this->storesVariables = $storesVariables;
  30. }
  31. /**
  32. * Prepare default variables
  33. *
  34. * @return array
  35. */
  36. public function getDefaultVariables()
  37. {
  38. $variables = [];
  39. foreach ($this->storesVariables->getData() as $variable) {
  40. $variables[] = [
  41. 'code' => $variable['value'],
  42. 'variable_name' => $variable['group_label'] . ' / ' . $variable['label'],
  43. 'variable_type' => \Magento\Variable\Model\Source\Variables::DEFAULT_VARIABLE_TYPE
  44. ];
  45. }
  46. return $variables;
  47. }
  48. /**
  49. * Prepare custom variables
  50. *
  51. * @return array
  52. */
  53. public function getCustomVariables()
  54. {
  55. /** @var \Magento\Variable\Model\ResourceModel\Variable\Collection $customVariables */
  56. $customVariables = $this->collectionFactory->create();
  57. $variables = [];
  58. foreach ($customVariables->getData() as $variable) {
  59. $variables[] = [
  60. 'code' => $variable['code'],
  61. 'variable_name' => __('Custom Variable') . ' / ' . $variable['name'],
  62. 'variable_type' => \Magento\Variable\Model\Source\Variables::CUSTOM_VARIABLE_TYPE
  63. ];
  64. }
  65. return $variables;
  66. }
  67. }