config_data.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. use Magento\Config\Model\Config\Factory;
  7. use Magento\Framework\App\Config\ScopeConfigInterface;
  8. use Magento\Framework\View\DesignInterface;
  9. use Magento\TestFramework\Helper\Bootstrap;
  10. use Magento\Theme\Model\ResourceModel\Theme\Collection;
  11. $objectManager = Bootstrap::getObjectManager();
  12. $configFactory = $objectManager->create(Factory::class);
  13. $themeList = $objectManager->create(Collection::class);
  14. $configData = [
  15. 'default' => [
  16. 'web/test/test_value_1' => 'http://local2.test/',
  17. 'web/test/test_value_2' => 5,
  18. 'web/test/test_value_3' => 'value from the DB',
  19. 'web/test/test_sensitive' => 10,
  20. 'general/country/default' => 'GB',
  21. 'web/test/test_sensitive1' => 'some_value1',
  22. 'web/test/test_sensitive2' => 'some_value2',
  23. 'web/test/test_sensitive3' => 'some_value3',
  24. 'web/test/test_sensitive_environment4' => 'some_value4',
  25. 'web/test/test_sensitive_environment5' => 'some_value5',
  26. 'web/test/test_sensitive_environment6' => 'some_value6',
  27. 'web/test/test_environment7' => 'some_value7',
  28. 'web/test/test_environment8' => 'some_value8',
  29. 'web/test/test_environment9' => 'some_value9',
  30. DesignInterface::XML_PATH_THEME_ID => $themeList->getThemeByFullPath('frontend/Magento/blank')->getThemeId()
  31. ],
  32. 'stores' => [
  33. 'default' => [
  34. DesignInterface::XML_PATH_THEME_ID => $themeList->getThemeByFullPath('frontend/Magento/luma')->getThemeId()
  35. ]
  36. ],
  37. 'websites' => [
  38. 'base' => [
  39. DesignInterface::XML_PATH_THEME_ID => $themeList->getThemeByFullPath('frontend/Magento/luma')->getThemeId()
  40. ]
  41. ],
  42. ];
  43. foreach ($configData as $scope => $data) {
  44. if ($scope === ScopeConfigInterface::SCOPE_TYPE_DEFAULT) {
  45. foreach ($data as $path => $value) {
  46. $config = $configFactory->create();
  47. $config->setScope($scope);
  48. $config->setDataByPath($path, $value);
  49. $config->save();
  50. }
  51. } else {
  52. foreach ($data as $scopeCode => $scopeData) {
  53. foreach ($scopeData as $path => $value) {
  54. $config = $configFactory->create();
  55. if ($scope == 'websites') {
  56. $config->setWebsite($scopeCode);
  57. } elseif ($scope == 'stores') {
  58. $config->setStore($scopeCode);
  59. } else {
  60. $config->setScope($scope);
  61. }
  62. $config->setDataByPath($path, $value);
  63. $config->save();
  64. }
  65. }
  66. }
  67. }