From e86cc0f16c35aa9d2e9cb5e87b5cc5f2a8086dd1 Mon Sep 17 00:00:00 2001 From: Raul E Watson Date: Tue, 4 Feb 2020 00:46:22 +0000 Subject: [PATCH 1/8] #3361 New Configuration Type Topic --- .../v2.3/config-guide/config/config-create.md | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index 4d5f12b8507..4d998551229 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -22,7 +22,7 @@ Your new `events.xml` is automatically collected from your module and merged wit To create new configuration type, you must add at minimum: * [XML](https://glossary.magento.com/xml) configuration files -* XSD validation schema +* [XSD](https://glossary.magento.com/xsd) validation schema * A loader For example, to introduce an [adapter](https://glossary.magento.com/adapter) for a new search server that enables extensions to configure how its entities are indexed in that server, create: @@ -52,7 +52,43 @@ To create a new configuration type, extend the `\Magento\Framework\Config\Reader * `$defaultScope`. Defines the configuration scope to be read by default. The default value for this parameter is global scope. - After you customize `ReaderInterface`, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. +After you customize `ReaderInterface`, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. + +### Examples of use + +The following example from the Magento_Sales module's [di.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/di.xml) illustrates how to create a configuration object. + +```xml + + + + + pdf.xml + Magento\Sales\Model\Order\Pdf\Config\Converter + Magento\Sales\Model\Order\Pdf\Config\SchemaLocator + + + + + + Magento\Sales\Model\Order\Pdf\Config\Reader + sales_pdf_config + + + + + + pdfConfigDataStorage + + + +``` + +The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. + +Then, the `pdfConfigDataStorage` virtual type attaches that reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). + +And finally, the last type attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. ## Validate a configuration type {#config-files-validate} From fca989bbb5e1b04d7f1aaad0961a52c66c3b7047 Mon Sep 17 00:00:00 2001 From: Raul E Watson Date: Thu, 6 Feb 2020 01:27:10 +0000 Subject: [PATCH 2/8] #3361 New Configuration Type Topic RELOADED --- .../v2.3/config-guide/config/config-create.md | 69 +++++++++++-------- .../v2.3/config-guide/config/config-files.md | 7 +- 2 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index 4d998551229..b649defd914 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -21,42 +21,29 @@ Your new `events.xml` is automatically collected from your module and merged wit To create new configuration type, you must add at minimum: -* [XML](https://glossary.magento.com/xml) configuration files -* [XSD](https://glossary.magento.com/xsd) validation schema * A loader +* [XSD](https://glossary.magento.com/xsd) validation schema +* [XML](https://glossary.magento.com/xml) configuration files For example, to introduce an [adapter](https://glossary.magento.com/adapter) for a new search server that enables extensions to configure how its entities are indexed in that server, create: * A loader. -* An XSD schema. -* Any other classes required for your new type to work. +* An XSD schema file. * An appropriately named configuration file. For example, `search.xml`. This file is read and validated against your schema. +* Any other classes required for your new type to work. - If other modules have a `search.xml` file, they are merged with your file when it loads. - -To create a new configuration type, extend the `\Magento\Framework\Config\ReaderInterface`, which is [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) to provide the following parameters: - -* `$fileResolver`. Implements [\Magento\Framework\Config\FileResolverInterface]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/FileResolverInterface.php). This parameter lists the files containing the configurations of your custom type. -* `$converter`. Implements [\Magento\Framework\Config\ConverterInterface]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/ConverterInterface.php). This parameter converts the XML into the internal array representation of the configurations. -* `$schemaLocator`. Implements [\Magento\Framework\Config\SchemaLocatorInterface]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/SchemaLocatorInterface.php). This parameter provides the full path to file(s) containing schema(s) for validation of the individual and merged configuration files. -* `$validationState`. Implements [\Magento\Framework\Config\ValidationStateInterface]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/ValidationStateInterface.php). This parameter defines whether a configuration file should be validated. -* `$fileName`. Name of a configuration file. The Reader looks for the file names specified by this parameter in modules' `etc` directories. -* `$idAttributes`. Array of node attribute IDs. - - For example, to merge the XML files: - - array( - '' => '', - '' => '', - } +{:.bs-callout-info} +If new modules have a `search.xml` file, they will be merged with your file when it loads. -* `$defaultScope`. Defines the configuration scope to be read by default. The default value for this parameter is global scope. +### Examples of use -After you customize `ReaderInterface`, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. +To create a new configuration type: -### Examples of use +1. Create your XSD file +2. Create your XML file +3. Define your configuration object in your `di.xml` -The following example from the Magento_Sales module's [di.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/di.xml) illustrates how to create a configuration object. +The following example from the Magento_Sales module's [di.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/di.xml) illustrates how a configuration object should look like. ```xml @@ -83,12 +70,35 @@ The following example from the Magento_Sales module's [di.xml]({{ site.mage2blob ``` +* The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. +* Then, the `pdfConfigDataStorage` virtual type node attaches the reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). +* And finally, the last type node attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. + + +4. Define a reader by extending [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class to provide the following parameters: + +{:.bs-callout-info} +You can also implement `ReaderInterface` to create your own version of the reader. For reference see [Magento_Analytics config reader]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Analytics/ReportXml/Config/Reader.php) + +```php +namespace Vendor\ModuleName\Model\Config; + +class Reader extends \Magento\Framework\Config\Reader\Filesystem +{ + /** + * List of identifier attributes for merging + * + * @var array + */ + protected $_idAttributes = [ + '' => '', + '' => '', + ]; +} +``` -The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. - -Then, the `pdfConfigDataStorage` virtual type attaches that reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). +After define your reader, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. -And finally, the last type attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. ## Validate a configuration type {#config-files-validate} @@ -115,4 +125,5 @@ Your IDE can validate your configuration files at both runtime and during develo Related topics * [Module configuration files]({{ page.baseurl }}/config-guide/config/config-php.html) +* [Configuration file merge]({{ page.baseurl }}/guides/v2.3/config-guide/config/config-files.html#config-files-load-merge-merge) * [Magento's deployment configuration]({{ page.baseurl }}/config-guide/config/config-php.html) diff --git a/src/guides/v2.3/config-guide/config/config-files.md b/src/guides/v2.3/config-guide/config/config-files.md index e3acf6080fb..9ccdc66cffa 100644 --- a/src/guides/v2.3/config-guide/config/config-files.md +++ b/src/guides/v2.3/config-guide/config/config-files.md @@ -50,6 +50,9 @@ Magento's merge algorithm follows: After configuration files are merged, the resulting document contains all nodes from the original files. +{:.bs-callout-info} +Note that you can use [\Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class for debugging and understanding the logic behind [configuration files loader]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php#L125) and [merge configs]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php#L144) process. + ## Configuration types, objects, and interfaces {#config-files-classes} The following sections provide information about configuration types, their corresponding configuration objects, and interfaces you can use to work with the objects: @@ -113,7 +116,9 @@ Configuration file|Description|Stage|Configuration object ### Configuration interfaces {#config-files-classes-int} -You can interact with configuration files using interfaces under [Magento\Framework\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config). You can also use these interfaces if you create new configuration types. +You can interact with configuration files using interfaces under [Magento\Framework\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config). + +You can also use these interfaces if you [create new configuration types]({{ page.baseurl }}/config-guide/config/config-create.html#config-files-extend-create-create). `Magento\Framework\Config` provides the following interfaces: From 62a7e38bc72901f4b1c56e218595b48159069676 Mon Sep 17 00:00:00 2001 From: Raul E Watson Date: Mon, 10 Feb 2020 00:23:26 +0000 Subject: [PATCH 3/8] #3361 New Configuration Type Topic amends --- .../v2.3/config-guide/config/config-create.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index b649defd914..b5ce0f31194 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -75,10 +75,13 @@ The following example from the Magento_Sales module's [di.xml]({{ site.mage2blob * And finally, the last type node attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. -4. Define a reader by extending [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class to provide the following parameters: +4. Define a reader by extending [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class and rewrite the following parameters: -{:.bs-callout-info} -You can also implement `ReaderInterface` to create your own version of the reader. For reference see [Magento_Analytics config reader]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Analytics/ReportXml/Config/Reader.php) +```php +$_idAttributes // Array of node attribute IDs. +``` + +**Example:** ```php namespace Vendor\ModuleName\Model\Config; @@ -97,6 +100,10 @@ class Reader extends \Magento\Framework\Config\Reader\Filesystem } ``` +{:.bs-callout-info} +If you prefer to create your own version of the reader you can do so by implementing `\Magento\Framework\Config\ReaderInterface` . For reference see [Magento_Analytics config reader]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Analytics/ReportXml/Config/Reader.php) + + After define your reader, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. From 184f11a7713b07df1030c09a164892c2bc5fed82 Mon Sep 17 00:00:00 2001 From: Donald Booth Date: Tue, 11 Feb 2020 14:44:21 -0600 Subject: [PATCH 4/8] Formatting and linting --- .../v2.3/config-guide/config/config-create.md | 98 +++++++++---------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index b5ce0f31194..e8560cefb26 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -27,59 +27,59 @@ To create new configuration type, you must add at minimum: For example, to introduce an [adapter](https://glossary.magento.com/adapter) for a new search server that enables extensions to configure how its entities are indexed in that server, create: -* A loader. -* An XSD schema file. +* A loader +* An XSD schema file * An appropriately named configuration file. For example, `search.xml`. This file is read and validated against your schema. -* Any other classes required for your new type to work. +* Any other classes required for your work. {:.bs-callout-info} If new modules have a `search.xml` file, they will be merged with your file when it loads. -### Examples of use +### Examples of use To create a new configuration type: -1. Create your XSD file -2. Create your XML file -3. Define your configuration object in your `di.xml` - -The following example from the Magento_Sales module's [di.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/di.xml) illustrates how a configuration object should look like. - -```xml - - - - - pdf.xml - Magento\Sales\Model\Order\Pdf\Config\Converter - Magento\Sales\Model\Order\Pdf\Config\SchemaLocator - - - - - - Magento\Sales\Model\Order\Pdf\Config\Reader - sales_pdf_config - - - - - - pdfConfigDataStorage - - - -``` -* The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. -* Then, the `pdfConfigDataStorage` virtual type node attaches the reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). -* And finally, the last type node attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. - +1. Create your XSD file. +1. Create your XML file. +1. Define your configuration object in your `di.xml`. + + The following example from the Magento_Sales module's [di.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/di.xml) illustrates how a configuration object should look like. + + ```xml + + + + + pdf.xml + Magento\Sales\Model\Order\Pdf\Config\Converter + Magento\Sales\Model\Order\Pdf\Config\SchemaLocator + + + + + + Magento\Sales\Model\Order\Pdf\Config\Reader + sales_pdf_config + + + + + + pdfConfigDataStorage + + + + ``` + + * The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. + * Then, the `pdfConfigDataStorage` virtual type node attaches the reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). + * And finally, the last type node attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. 4. Define a reader by extending [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class and rewrite the following parameters: -```php -$_idAttributes // Array of node attribute IDs. -``` + ```php + $_idAttributes // Array of node attribute IDs. + ``` **Example:** @@ -94,19 +94,17 @@ class Reader extends \Magento\Framework\Config\Reader\Filesystem * @var array */ protected $_idAttributes = [ - '' => '', - '' => '', + '' => '', + '' => '', ]; } ``` {:.bs-callout-info} -If you prefer to create your own version of the reader you can do so by implementing `\Magento\Framework\Config\ReaderInterface` . For reference see [Magento_Analytics config reader]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Analytics/ReportXml/Config/Reader.php) - +If you prefer to create your own version of the reader you can do so by implementing `\Magento\Framework\Config\ReaderInterface`. For reference see [Magento_Analytics config reader]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Analytics/ReportXml/Config/Reader.php) After define your reader, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. - ## Validate a configuration type {#config-files-validate} Each configuration file is validated against a schema specific to its configuration type. Example: events, which, in earlier Magento versions, were configured in `config.xml`, are now configured in `events.xml`. @@ -119,12 +117,12 @@ Configuration files can be validated both before (optional) and after any merge New configuration files must be accompanied by XSD validation schemas. An XML configuration file and its XSD validation file must have the same name. If you must use two XSD files for a single XML file, the names of the schemas should be recognizable and associated with the XML file. - If you have an `events.xml` file and a first `events.xsd` file, the XSD files for the merged `events.xml` file could be named `events_merged.xsd`. - To ensure validation of an XML file by appropriate XSD file, you must add the Uniform Resource Name (URN) to the XSD file in the XML file. For example: - +```xml + +``` Your IDE can validate your configuration files at both runtime and during development. From c52979690ea1915eb2f518a388d9eb22882f8a5c Mon Sep 17 00:00:00 2001 From: Donald Booth Date: Thu, 13 Feb 2020 12:33:32 -0600 Subject: [PATCH 5/8] Small spelling fix. --- src/guides/v2.3/config-guide/config/config-create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index e8560cefb26..69e66183b1e 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -103,7 +103,7 @@ class Reader extends \Magento\Framework\Config\Reader\Filesystem {:.bs-callout-info} If you prefer to create your own version of the reader you can do so by implementing `\Magento\Framework\Config\ReaderInterface`. For reference see [Magento_Analytics config reader]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Analytics/ReportXml/Config/Reader.php) -After define your reader, you can use it to collect, merge, validate, and convert the configuration files to an internal array representation. +After defining your reader, use it to collect, merge, validate, and convert the configuration files to an internal array representation. ## Validate a configuration type {#config-files-validate} From 27763a420fb96c9770bbb3c97fa995ba6742ed6b Mon Sep 17 00:00:00 2001 From: Donald Booth Date: Thu, 13 Feb 2020 12:38:57 -0600 Subject: [PATCH 6/8] Linting issues. --- src/guides/v2.3/config-guide/config/config-create.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index 69e66183b1e..9850a2a1c8b 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -71,11 +71,11 @@ To create a new configuration type: ``` - * The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. - * Then, the `pdfConfigDataStorage` virtual type node attaches the reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). - * And finally, the last type node attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. + * The first type node sets the Reader's filename, associated `Converter` and `SchemaLocator` classes. + * Then, the `pdfConfigDataStorage` virtual type node attaches the reader class to an instance of [Magento\Framework\Config\Data]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Data.php). + * And finally, the last type node attaches that config data virtual type to the [Magento\Sales\Model\Order\Pdf\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/Model/Order/Pdf/Config.php) class, which is used for actually reading values in from those [pdf.xml]({{ site.mage2bloburl }}/{{ page.guide_version }}/app/code/Magento/Sales/etc/pdf.xml) files. -4. Define a reader by extending [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class and rewrite the following parameters: +1. Define a reader by extending [Magento\Framework\Config\Reader\Filesystem]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config/Reader/Filesystem.php) class and rewrite the following parameters: ```php $_idAttributes // Array of node attribute IDs. From 88f58e1b6e99f278bf151223ea8a2003f44331e4 Mon Sep 17 00:00:00 2001 From: Donald Booth Date: Thu, 13 Feb 2020 12:43:42 -0600 Subject: [PATCH 7/8] Lint --- src/guides/v2.3/config-guide/config/config-files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/guides/v2.3/config-guide/config/config-files.md b/src/guides/v2.3/config-guide/config/config-files.md index 9ccdc66cffa..cfe0d3bc3af 100644 --- a/src/guides/v2.3/config-guide/config/config-files.md +++ b/src/guides/v2.3/config-guide/config/config-files.md @@ -116,7 +116,7 @@ Configuration file|Description|Stage|Configuration object ### Configuration interfaces {#config-files-classes-int} -You can interact with configuration files using interfaces under [Magento\Framework\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config). +You can interact with configuration files using interfaces under [Magento\Framework\Config]({{ site.mage2bloburl }}/{{ page.guide_version }}/lib/internal/Magento/Framework/Config). You can also use these interfaces if you [create new configuration types]({{ page.baseurl }}/config-guide/config/config-create.html#config-files-extend-create-create). From be26d09f4d60ab680e4c2f902973c4685fe391ad Mon Sep 17 00:00:00 2001 From: Raul E Watson Date: Thu, 13 Feb 2020 22:19:58 +0000 Subject: [PATCH 8/8] #3361 Fix broken link --- src/guides/v2.3/config-guide/config/config-create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/guides/v2.3/config-guide/config/config-create.md b/src/guides/v2.3/config-guide/config/config-create.md index 9850a2a1c8b..b5f7a63ee25 100644 --- a/src/guides/v2.3/config-guide/config/config-create.md +++ b/src/guides/v2.3/config-guide/config/config-create.md @@ -130,5 +130,5 @@ Your IDE can validate your configuration files at both runtime and during develo Related topics * [Module configuration files]({{ page.baseurl }}/config-guide/config/config-php.html) -* [Configuration file merge]({{ page.baseurl }}/guides/v2.3/config-guide/config/config-files.html#config-files-load-merge-merge) +* [Configuration file merge]({{ page.baseurl }}/config-guide/config/config-files.html#config-files-load-merge-merge) * [Magento's deployment configuration]({{ page.baseurl }}/config-guide/config/config-php.html)