config_data.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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\Store\Model\ScopeInterface;
  9. use Magento\TestFramework\Helper\Bootstrap;
  10. $configData = [
  11. ScopeConfigInterface::SCOPE_TYPE_DEFAULT => [
  12. '' => [
  13. 'web/test/test_value_1' => 'value1.db.default.test',
  14. 'web/test/test_value_2' => 'value2.db.default.test',
  15. 'web/test2/test_value_3' => 'value3.db.default.test',
  16. 'web/test2/test_value_4' => 'value4.db.default.test',
  17. 'carriers/fedex/account' => 'value5.db.hashed.value',
  18. 'paypal/fetch_reports/ftp_password' => 'value6.db.hashed.value',
  19. ]
  20. ],
  21. ScopeInterface::SCOPE_WEBSITES => [
  22. 'base' => [
  23. 'web/test/test_value_1' => 'value1.db.website_base.test',
  24. 'web/test/test_value_2' => 'value2.db.website_base.test',
  25. 'web/test2/test_value_3' => 'value3.db.website_base.test',
  26. 'web/test2/test_value_4' => 'value4.db.website_base.test',
  27. ]
  28. ],
  29. ScopeInterface::SCOPE_STORES => [
  30. 'default' => [
  31. 'web/test/test_value_1' => 'value1.db.store_default.test',
  32. 'web/test/test_value_2' => 'value2.db.store_default.test',
  33. 'web/test2/test_value_3' => 'value3.db.store_default.test',
  34. 'web/test2/test_value_4' => 'value4.db.store_default.test',
  35. ]
  36. ],
  37. ];
  38. $objectManager = Bootstrap::getObjectManager();
  39. /** @var Factory $configFactory */
  40. $configFactory = $objectManager->create(Factory::class);
  41. foreach ($configData as $scope => $data) {
  42. foreach ($data as $scopeCode => $scopeData) {
  43. foreach ($scopeData as $path => $value) {
  44. $config = $configFactory->create();
  45. $config->setScope($scope);
  46. if ($scope == ScopeInterface::SCOPE_WEBSITES) {
  47. $config->setWebsite($scopeCode);
  48. }
  49. if ($scope == ScopeInterface::SCOPE_STORES) {
  50. $config->setStore($scopeCode);
  51. }
  52. $config->setDataByPath($path, $value);
  53. $config->save();
  54. }
  55. }
  56. }