Reader.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Widget\Model\Config;
  7. class Reader extends \Magento\Framework\Config\Reader\Filesystem
  8. {
  9. /**
  10. * List of identifier attributes for merging
  11. *
  12. * @var array
  13. */
  14. protected $_idAttributes = [
  15. '/widgets/widget' => 'id',
  16. '/widgets/widget/parameters/parameter' => 'name',
  17. '/widgets/widget/parameters/parameter/options/option' => 'name',
  18. '/widgets/widget/containers/container' => 'name',
  19. '/widgets/widget/containers/container/template' => 'name',
  20. ];
  21. /**
  22. * @param \Magento\Framework\Config\FileResolverInterface $fileResolver
  23. * @param Converter $converter
  24. * @param \Magento\Framework\Config\SchemaLocatorInterface $schemaLocator
  25. * @param \Magento\Framework\Config\ValidationStateInterface $validationState
  26. * @param string $fileName
  27. * @param array $idAttributes
  28. * @param string $domDocumentClass
  29. * @param string $defaultScope
  30. */
  31. public function __construct(
  32. \Magento\Framework\Config\FileResolverInterface $fileResolver,
  33. Converter $converter,
  34. \Magento\Framework\Config\SchemaLocatorInterface $schemaLocator,
  35. \Magento\Framework\Config\ValidationStateInterface $validationState,
  36. $fileName = 'widget.xml',
  37. $idAttributes = [],
  38. $domDocumentClass = \Magento\Framework\Config\Dom::class,
  39. $defaultScope = 'global'
  40. ) {
  41. parent::__construct(
  42. $fileResolver,
  43. $converter,
  44. $schemaLocator,
  45. $validationState,
  46. $fileName,
  47. $idAttributes,
  48. $domDocumentClass,
  49. $defaultScope
  50. );
  51. }
  52. /**
  53. * Load configuration file
  54. *
  55. * @param string $file
  56. * @return array
  57. */
  58. public function readFile($file)
  59. {
  60. return $this->_readFiles([$file]);
  61. }
  62. }