Skip to content

Commit c692a46

Browse files
committed
Merge branch '4.3.0-develop' into 1012-update-generating-ui-form
2 parents 5768f49 + 49be8d4 commit c692a46

File tree

98 files changed

+2722
-286
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+2722
-286
lines changed

.github/workflows/gradle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: Run automated tests
55

66
on:
77
pull_request:
8-
branches: [ master, 4.2.3-develop ]
8+
branches: [ master, 4.3.0-develop ]
99

1010
jobs:
1111
build-linux:

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
66

7+
## 4.3.0
8+
79
## 4.2.3
810

911
### Fixed

README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
[![Version](http://phpstorm.espend.de/badge/8024/version)](https://plugins.jetbrains.com/plugin/8024)
1010
[![Downloads](http://phpstorm.espend.de/badge/8024/downloads)](https://plugins.jetbrains.com/plugin/8024)
11-
![merge-chance-badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fmerge-chance.info%2Fbadge%3Frepo%3Dmagento/magento2-phpstorm-plugin)
1211
[![Made With Love](https://img.shields.io/badge/Made%20With-Love-orange.svg)](https://magento.com)
1312

1413
## Installation
@@ -43,7 +42,7 @@
4342

4443
1. Check out this repository
4544
1. Open a folder with the project in the IntelliJ Ultimate using the `open` action button.
46-
1. Make sure that you on the latest develop branch (e.g `4.2.3-develop`)
45+
1. Make sure that you on the latest develop branch (e.g `4.3.0-develop`)
4746
1. Right-click on the `build.gradle` file, choose "Import Gradle project" (if this is not exist look for "Build module '<root folder name>'") (you need to have Gradle plugin installed)
4847
1. Check if the right SDK version is used for the project.
4948
- Current Java version for the project is **java 11**, so you should additionally download **SDK 11** and choose it in the module settings: `Right click by the project root > Open Module Settings > Project Settings > Project > Project SDK`
@@ -60,6 +59,32 @@
6059
3) The issue will appear in the `Ready for Grooming` column of the [Community Backlog](https://github.com/magento/magento2-phpstorm-plugin/projects/2). Once it will be discussed and approved the issue will be ready for development.
6160
4) Refer to the [Contributing Guide](https://github.com/magento/magento2-phpstorm-plugin/blob/2.1.0-develop/.github/CONTRIBUTING.md) for more information on how to contribute.
6261

62+
## How to create SandBox for development
63+
1. Create sandbox folder
64+
2. Copy to sandbox folder `composer.json` and `composer.lock`
65+
3. In sandbox folder create `app/code` and `vendor/magento`
66+
4. Copy any of the magento modules (as for example: `framework`, `module-catalog`, `module-checkout`, `module-customer`, `module-sales`) into the `vendor/magento` folder. It is better to add as few modules as possible to reduce reindexing time during application running
67+
5. (Nice to have) Open IDE and go to `Preferences > Editor > File and Code Templates > Includes tab` and add default headers for `PHP File Header` and `XML File Header`
68+
69+
**PHP File Header:**
70+
```php
71+
/**
72+
* Copyright © Magento, Inc. All rights reserved.
73+
* See COPYING.txt for license details.
74+
*/
75+
declare(strict_types=1);
76+
```
77+
78+
**XML File Header:**
79+
```xml
80+
<!--
81+
/**
82+
* Copyright © Magento, Inc. All rights reserved.
83+
* See COPYING.txt for license details.
84+
*/
85+
-->
86+
```
87+
6388
### <img src="https://upload.wikimedia.org/wikipedia/commons/7/76/Slack_Icon.png" width="20"> Join the [#phpstorm-plugin](https://magentocommeng.slack.com/archives/C010C2LUCEA) Slack channel to get more involved
6489

6590
## License

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repositories {
1515
}
1616

1717
group 'com.magento.idea'
18-
version '4.2.3'
18+
version '4.3.0'
1919

2020
apply plugin: 'org.jetbrains.intellij'
2121
apply plugin: 'java'

resources/META-INF/plugin.xml

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<idea-plugin require-restart="true">
88
<id>com.magento.idea.magento2plugin</id>
99
<name>Magento PhpStorm</name>
10-
<version>4.2.3</version>
10+
<version>4.3.0</version>
1111
<vendor url="https://github.com/magento/magento2-phpstorm-plugin">Magento Inc.</vendor>
1212

1313
<description><![CDATA[
@@ -56,6 +56,30 @@
5656
<add-to-group group-id="PhpGenerateGroup" anchor="last"/>
5757
</group>
5858

59+
<group id="MagentoContextBasedActionsGroup" class="com.magento.idea.magento2plugin.actions.groups.ContextActionsGroup" text="Context Actions" popup="false" compact="true" searchable="true">
60+
<separator/>
61+
<!-- Context dependent actions -->
62+
<action id="MagentoCreateAclFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewAclXmlAction"/>
63+
<action id="MagentoCreateConfigFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewConfigXmlAction"/>
64+
<action id="MagentoCreateCrontabFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewCrontabXmlAction"/>
65+
<action id="MagentoCreateDiFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewDiXmlAction"/>
66+
<action id="MagentoCreateEmailTemplatesFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewEmailTemplatesXmlAction"/>
67+
<action id="MagentoCreateExtensionAttributesFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewExtensionAttributesXmlAction"/>
68+
<action id="MagentoCreateFieldsetFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewFieldsetXmlAction"/>
69+
<action id="MagentoCreateIndexerFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewIndexerXmlAction"/>
70+
<action id="MagentoCreateMviewFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewMviewXmlAction"/>
71+
<action id="MagentoCreatePageTypesFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewPageTypesXmlAction"/>
72+
<action id="MagentoCreateRoutesFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewRoutesXmlAction"/>
73+
<action id="MagentoCreateSectionsFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewSectionsXmlAction"/>
74+
<action id="MagentoCreateSystemFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewSystemXmlAction"/>
75+
<action id="MagentoCreateViewFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewViewXmlAction"/>
76+
<action id="MagentoCreateWebapiFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewWebapiXmlAction"/>
77+
<action id="MagentoCreateWidgetFile" class="com.magento.idea.magento2plugin.actions.context.xml.NewWidgetXmlAction"/>
78+
<!-- Context dependent actions -->
79+
<separator/>
80+
<add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewXml"/>
81+
</group>
82+
5983
<!-- Module file generators -->
6084
<group id="MagentoNewModuleFileGroup" class="com.magento.idea.magento2plugin.actions.groups.NewModuleFileGroup" text="Module File" popup="true">
6185
<action id="MagentoCreateEntity" class="com.magento.idea.magento2plugin.actions.generation.NewEntityAction" />
@@ -159,6 +183,7 @@
159183
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.mftf.DataIndex" />
160184
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.mftf.PageIndex" />
161185
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.mftf.TestNameIndex" />
186+
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.mftf.TestExtendsIndex" />
162187
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.js.RequireJsIndex" />
163188
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.js.MagentoLibJsIndex" />
164189
<fileBasedIndex implementation="com.magento.idea.magento2plugin.stubs.indexes.xml.AclResourceIndex" />
@@ -553,6 +578,16 @@
553578
<internalFileTemplate name="Magento Entity Delete Controller Class"/>
554579
<internalFileTemplate name="Magento Web API XML"/>
555580
<internalFileTemplate name="Web API Interface"/>
581+
<internalFileTemplate name="Magento Config XML"/>
582+
<internalFileTemplate name="Magento Extension Attributes XML"/>
583+
<internalFileTemplate name="Magento Widget XML"/>
584+
<internalFileTemplate name="Magento Mview XML"/>
585+
<internalFileTemplate name="Magento Indexer XML"/>
586+
<internalFileTemplate name="Magento View XML"/>
587+
<internalFileTemplate name="Magento Fieldset XML"/>
588+
<internalFileTemplate name="Magento Sections XML"/>
589+
<internalFileTemplate name="Magento Module Email Templates Xml"/>
590+
<internalFileTemplate name="Magento Page Types XML"/>
556591

557592
<defaultLiveTemplates file="/liveTemplates/MagentoPWA.xml"/>
558593

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?xml version="1.0"?>
22
#parse("XML File Header.xml")
3-
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd">
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd">
45
</config>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0"?>
2+
#parse("XML File Header.xml")
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
5+
</config>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!--
2+
/*
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<html>
8+
<body>
9+
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse">
10+
<tr>
11+
<td><font face="verdana" size="-1">
12+
The config.xml file is used to set default values for system configuration
13+
(in Admin under Stores > Settings > Configuration), set in module_folder/etc/adminhtml/system.xml.
14+
</font><br>
15+
</td>
16+
</tr>
17+
</table>
18+
</body>
19+
</html>
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?xml version="1.0"?>
22
#parse("XML File Header.xml")
3-
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
45
</config>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0"?>
2+
#parse("XML File Header.xml")
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
5+
</config>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<html lang="en">
8+
<body>
9+
<font face="verdana" size="-1">
10+
<p>
11+
Extension attributes are new in Magento 2. They are used to extend functionality and
12+
often use more complex data types than custom attributes. These attributes do not appear in the Admin.
13+
</p>
14+
<p>
15+
Read more about extension_attributes.xml in the
16+
<a href="https://devdocs.magento.com/guides/v2.4/extension-dev-guide/attributes.html">DevDocs</a>.
17+
</p>
18+
</font>
19+
</body>
20+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
#parse("XML File Header.xml")
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:DataObject/etc/fieldset.xsd">
5+
</config>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<html lang="en">
8+
<body>
9+
<font face="verdana" size="-1">
10+
<p>
11+
The fieldset.xml file configures which the copy fields from quote to order.
12+
The fieldset.xml file is located under etc/fieldset.xml in a given Magento 2 extension.
13+
</p>
14+
<p>
15+
Read more about fieldset.xml in the
16+
<a href="https://devdocs.magento.com/guides/v2.4/ext-best-practices/tutorials/copy-fieldsets.html">DevDocs</a>.
17+
</p>
18+
</font>
19+
</body>
20+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
#parse("XML File Header.xml")
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:Indexer/etc/indexer.xsd">
5+
</config>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<html lang="en">
8+
<body>
9+
<font face="verdana" size="-1">
10+
<p>
11+
Indexing is how Magento transforms data such as products and categories, to improve the performance of
12+
your storefront. As data changes, the transformed data must be updated or reindexed. Magento has a very
13+
sophisticated architecture that stores lots of merchant data (including catalog data, prices, users, and stores)
14+
in many database tables. To optimize storefront performance, Magento accumulates data into special tables
15+
using indexers.
16+
</p>
17+
<p>
18+
Read more about indexer.xml in the
19+
<a href="https://devdocs.magento.com/guides/v2.4/extension-dev-guide/indexing.html">DevDocs</a>.
20+
</p>
21+
</font>
22+
</body>
23+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
#parse("XML File Header.xml")
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:Mview/etc/mview.xsd">
5+
</config>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<html lang="en">
8+
<body>
9+
<font face="verdana" size="-1">
10+
<p>
11+
The mview.xml file is used to track database changes for a certain entity.
12+
Allows tracking database changes for a certain entity (product, category, etc.) and running change handler.
13+
Emulates the materialized view technology for MySQL using triggers and separate materialization process
14+
(provides executing PHP code instead of SQL queries, which allows materializing multiple queries).
15+
</p>
16+
<p>
17+
Read more about mview.xml in the
18+
<a href="https://devdocs.magento.com/guides/v2.4/extension-dev-guide/indexing.html">DevDocs</a>.
19+
</p>
20+
</font>
21+
</body>
22+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0"?>
2+
#parse("XML File Header.xml")
3+
<page_types xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_types.xsd">
5+
</page_types>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<html lang="en">
8+
<body>
9+
<font face="verdana" size="-1">
10+
<p>
11+
After creating a new route routing/index/index, it is a good practice to give more control
12+
on it for the admin. By creating a new Page Type, the admin can manage the content of this
13+
page using widgets.
14+
Defining a new page type: etc/frontend/page_types.xml
15+
</p>
16+
<p>
17+
Read more about page_types.xml in the
18+
<a href="https://devdocs.magento.com/guides/v2.4/extension-dev-guide/routing.html#declaring-the-new-route-as-page-type">DevDocs</a>.
19+
</p>
20+
</font>
21+
</body>
22+
</html>
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
<?xml version="1.0"?>
22
#parse("XML File Header.xml")
3-
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
4-
<router id="${ROUTER_ID}">
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
5+
<router id="${ROUTER_ID}">#if (${HAS_ROUTE_DATA})
6+
<route id="${ROUTE_ID}" frontName="${FRONT_NAME}">
7+
<module name="${MODULE_NAME}"/>
8+
</route>
9+
#end
510
</router>
611
</config>

resources/fileTemplates/internal/Magento Routes XML.xml.html

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,43 @@
3030
<tr>
3131
<td valign="top"><nobr><font face="verdana" size="-2"><b>${ROUTER_ID}</b></font></nobr></td>
3232
<td width="10">&nbsp;</td>
33-
<td width="100%" valign="top"><font face="verdana" size="-1">specifies the name of the router in Magento.
33+
<td width="100%" valign="top"><font face="verdana" size="-1">Specifies the name of the router in Magento.
3434
See the reference tables in the
3535
<a href="https://devdocs.magento.com/guides/v2.4/extension-dev-guide/routing.html#router-class">
3636
Router class section
3737
</a>.
3838
</font>
3939
</td>
4040
</tr>
41+
<tr>
42+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${HAS_ROUTE_DATA}</b></font></nobr></td>
43+
<td width="10">&nbsp;</td>
44+
<td width="100%" valign="top"><font face="verdana" size="-1">Technical value used to enable/disable route information rendering
45+
</font>
46+
</td>
47+
</tr>
48+
<tr>
49+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${ROUTE_ID}</b></font></nobr></td>
50+
<td width="10">&nbsp;</td>Specifies the unique node id for this route in Magento,
51+
is also the first segment of its associated layout handle XML filename: routeId_controller_action.xml
52+
<td width="100%" valign="top"><font face="verdana" size="-1">
53+
</font>
54+
</td>
55+
</tr>
56+
<tr>
57+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${FRONT_NAME}</b></font></nobr></td>
58+
<td width="10">&nbsp;</td>
59+
<td width="100%" valign="top"><font face="verdana" size="-1">Specifies the first segment after the base URL of a request
60+
</font>
61+
</td>
62+
</tr>
63+
<tr>
64+
<td valign="top"><nobr><font face="verdana" size="-2"><b>${MODULE_NAME}</b></font></nobr></td>
65+
<td width="10">&nbsp;</td>
66+
<td width="100%" valign="top"><font face="verdana" size="-1">Specifies the name of your module
67+
</font>
68+
</td>
69+
</tr>
4170
</table>
4271
</body>
43-
</html>
72+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
#parse("XML File Header.xml")
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd">
5+
</config>

0 commit comments

Comments
 (0)