Skip to content

Commit aefa6c5

Browse files
authored
Merge branch 'main' into paas-native-user-management
2 parents b48ef04 + 6e857a8 commit aefa6c5

File tree

191 files changed

+1919
-971
lines changed

Some content is hidden

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

191 files changed

+1919
-971
lines changed

.gitbook.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,37 @@ redirects:
1919
resources/references/api-reference/admin-api-reference.html: guides/integrations-api/
2020
concepts/extensions/elasticsearch-concept.html: concepts/framework/elasticsearch.html
2121
guides/plugins/plugins/storefront/use-csrf-protection.html: guides/hosting/configurations/framework/samesite-protection.html
22+
guides/plugins/plugins/storefront/add-caching-to-custom-controller.html: guides/plugins/plugins/storefront/advanced/add-caching-to-custom-controller.html
23+
guides/plugins/plugins/storefront/add-cookie-to-manager.html: guides/plugins/plugins/storefront/advanced/add-cookie-to-manager.html
24+
guides/plugins/plugins/storefront/add-custom-assets.html: guides/plugins/plugins/storefront/styling/add-custom-assets.html
25+
guides/plugins/plugins/storefront/add-custom-captcha.html: guides/plugins/plugins/storefront/howto/add-custom-captcha.html
26+
guides/plugins/plugins/storefront/add-custom-controller.html: guides/plugins/plugins/storefront/controllers/add-custom-controller.html
27+
guides/plugins/plugins/storefront/add-custom-javascript.html: guides/plugins/plugins/storefront/javascript/add-custom-javascript.html
28+
guides/plugins/plugins/storefront/add-custom-page.html: guides/plugins/plugins/storefront/controllers/add-custom-page.html
29+
guides/plugins/plugins/storefront/add-custom-pagelet.html: guides/plugins/plugins/storefront/controllers/add-custom-pagelet.html
30+
guides/plugins/plugins/storefront/add-custom-sorting-product-listing.html: guides/plugins/plugins/storefront/howto/add-custom-sorting-product-listing.html
31+
guides/plugins/plugins/storefront/add-custom-styling.html: guides/plugins/plugins/storefront/styling/add-custom-styling.html
32+
guides/plugins/plugins/storefront/add-custom-twig-function.html: guides/plugins/plugins/storefront/templates/add-custom-twig-function.html
33+
guides/plugins/plugins/storefront/add-data-to-storefront-page.html: guides/plugins/plugins/storefront/controllers/add-data-to-storefront-page.html
34+
guides/plugins/plugins/storefront/add-dynamic-content-via-ajax-calls.html: guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.html
35+
guides/plugins/plugins/storefront/add-icons.html: guides/plugins/plugins/storefront/styling/add-icons.html
36+
guides/plugins/plugins/storefront/add-javascript-as-script-tag.html: guides/plugins/plugins/storefront/javascript/add-javascript-as-script-tag.html
37+
guides/plugins/plugins/storefront/add-listing-filters.html: guides/plugins/plugins/storefront/howto/add-listing-filters.html
38+
guides/plugins/plugins/storefront/add-scss-variables-via-subscriber.html: guides/plugins/plugins/storefront/styling/add-scss-variables-via-subscriber.html
39+
guides/plugins/plugins/storefront/add-scss-variables.html: guides/plugins/plugins/storefront/styling/add-scss-variables.html
40+
guides/plugins/plugins/storefront/add-translations.html: guides/plugins/plugins/storefront/styling/add-translations.html
41+
guides/plugins/plugins/storefront/customize-header-footer.html: guides/plugins/plugins/storefront/templates/customize-header-footer.html
42+
guides/plugins/plugins/storefront/customize-templates.html: guides/plugins/plugins/storefront/templates/customize-templates.html
43+
guides/plugins/plugins/storefront/fetching-data-with-javascript.html: guides/plugins/plugins/storefront/javascript/fetching-data-with-javascript.html
44+
guides/plugins/plugins/storefront/override-existing-javascript.html: guides/plugins/plugins/storefront/javascript/override-existing-javascript.html
45+
guides/plugins/plugins/storefront/reacting-to-cookie-consent-changes.html: guides/plugins/plugins/storefront/advanced/reacting-to-cookie-consent-changes.html
46+
guides/plugins/plugins/storefront/reacting-to-javascript-events.html: guides/plugins/plugins/storefront/javascript/reacting-to-javascript-events.html
47+
guides/plugins/plugins/storefront/remove-unnecessary-js-plugin.html: guides/plugins/plugins/storefront/advanced/remove-unnecessary-js-plugin.html
48+
guides/plugins/plugins/storefront/use-media-thumbnails.html: guides/plugins/plugins/storefront/howto/use-media-thumbnails.html
49+
guides/plugins/plugins/storefront/use-nested-line-items.html: guides/plugins/plugins/storefront/howto/use-nested-line-items.html
50+
guides/plugins/plugins/storefront/using-a-modal-window.html: guides/plugins/plugins/storefront/howto/using-a-modal-window.html
51+
guides/plugins/plugins/storefront/using-custom-fields-storefront.html: guides/plugins/plugins/storefront/howto/using-custom-fields-storefront.html
52+
guides/plugins/plugins/storefront/using-the-datepicker-plugin.html: guides/plugins/plugins/storefront/howto/using-the-datepicker-plugin.html
2253
products/extensions/b2b-suite/*: products/extensions/b2b/b2b-suite/*
2354
products/extensions/b2b-components/*: products/extensions/b2b/b2b-components/*
2455
guides/plugins/plugins/administration/add-shortcuts.html: guides/plugins/plugins/administration/advanced-configuration/add-shortcuts.html
@@ -68,6 +99,27 @@ redirects:
6899
products/paas/fastly.html: products/paas/shopware-paas/fastly.html
69100
products/paas/blackfire.html: products/paas/shopware-paas/blackfire.html
70101
guides/plugins/apps/in-app-purchase/: guides/plugins/apps/in-app-purchases.html
102+
guides/plugins/apps/app-registration-setup.html: guides/plugins/apps/lifecycle/app-registration-setup.html
103+
guides/plugins/apps/app-signature-verification.html: guides/plugins/apps/lifecycle/app-signature-verification.html
104+
guides/plugins/apps/clientside-to-app-backend.html: guides/plugins/apps/lifecycle/clientside-to-app-backend.html
105+
guides/plugins/apps/configuration.html: guides/plugins/apps/lifecycle/configuration.html
106+
guides/plugins/apps/payment.html: guides/plugins/apps/checkout/payment.html
107+
guides/plugins/apps/shipping-methods.html: guides/plugins/apps/checkout/shipping-methods.html
108+
guides/plugins/apps/starter/add-api-endpoint.html: guides/plugins/apps/app-scripts/add-api-endpoint.html
109+
guides/plugins/apps/starter/index.html: guides/plugins/apps/index.html
110+
guides/plugins/apps/starter/product-translator.html: guides/plugins/apps/lifecycle/product-translator.html
111+
guides/plugins/apps/starter/starter-admin-extension.html: guides/plugins/apps/administration/starter-admin-extension.html
112+
guides/plugins/apps/tax-provider.html: guides/plugins/apps/checkout/tax-provider.html
113+
guides/plugins/apps/webhook.html: guides/plugins/apps/lifecycle/webhook.html
114+
guides/plugins/plugins/plugin-fundamentals/add-custom-service.html: guides/plugins/plugins/services/add-custom-service.html
115+
guides/plugins/plugins/plugin-fundamentals/add-plugin-dependencies.html: guides/plugins/plugins/dependencies/add-plugin-dependencies.html
116+
guides/plugins/plugins/plugin-fundamentals/adjusting-service.html: guides/plugins/plugins/services/adjusting-service.html
117+
guides/plugins/plugins/plugin-fundamentals/custom-fields-of-type-media.html: guides/plugins/plugins/database/custom-fields-of-type-media.html
118+
guides/plugins/plugins/plugin-fundamentals/database-migrations.html: guides/plugins/plugins/database/database-migrations.html
119+
guides/plugins/plugins/plugin-fundamentals/dependency-injection.html: guides/plugins/plugins/services/dependency-injection.html
120+
guides/plugins/plugins/plugin-fundamentals/listening-to-events.html: guides/plugins/plugins/framework/event/listening-to-events.html
121+
guides/plugins/plugins/plugin-fundamentals/using-composer-dependencies.html: guides/plugins/plugins/dependencies/using-composer-dependencies.html
122+
guides/plugins/plugins/plugin-fundamentals/using-npm-dependencies.html: guides/plugins/plugins/dependencies/using-npm-dependencies.html
71123
guides/plugins/plugins/in-app-purchase/: guides/plugins/plugins/in-app-purchases.html
72124
products/paas/shopware/CLI/account.html: products/paas/shopware/fundamentals/account.html
73125
products/paas/shopware/CLI/applications.html: products/paas/shopware/fundamentals/applications.html
@@ -110,6 +162,8 @@ redirects:
110162
resources/references/upgrades/core/translation/language-pack-migration.html: guides/upgrades-migrations/language-pack-migration.html
111163
resources/references/upgrades/administration/: guides/upgrades-migrations/administration/
112164
resources/references/upgrades/: guides/upgrades-migrations/
165+
resources/references/storefront-reference/plugin-reference.html: guides/plugins/plugins/storefront/javascript/plugin-reference.html
166+
resources/references/storefront-reference/twig-function-reference.html: guides/plugins/plugins/storefront/templates/twig-function-reference.html
113167
guides/plugins/plugins/testing/php-unit.html: guides/development/testing/unit/php-unit.html
114168
guides/plugins/plugins/testing/jest-storefront.html: guides/development/testing/unit/jest-storefront.html
115169
guides/plugins/plugins/testing/jest-admin.html: guides/development/testing/unit/jest-admin.html
@@ -145,6 +199,7 @@ redirects:
145199
guides/plugins/plugins/testing/cypress/cypress-best-practises.html: guides/development/testing/legacy/cypress/cypress-best-practises.html
146200
guides/plugins/plugins/testing/cypress/cypress-end-to-end-testing/: guides/development/testing/legacy/cypress/
147201
guides/resources/references/core-reference/dal-reference/filters-reference.html: resources/references/core-reference/dal-reference/filters-reference.html
202+
resources/guidelines/code/core/database-migations.html: resources/guidelines/code/core/database-migrations.html
148203
resources/guidelines/code/core/final-and-internal.html: guides/development/extensions/architecture/final-and-internal.html
149204
resources/guidelines/code/core/internal.html: guides/development/extensions/architecture/internal.html
150205
resources/guidelines/code/core/extendability.html: guides/development/extensions/architecture/extendability.html

concepts/commerce/content/cookie-consent-management.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ The cookie consent system can be extended in multiple ways:
197197

198198
Use an event listener to add custom cookies.
199199

200-
<PageRef page="../../../guides/plugins/plugins/storefront/add-cookie-to-manager" />
200+
<PageRef page="../../../guides/plugins/plugins/storefront/advanced/add-cookie-to-manager" />
201201

202202
### For Apps
203203

@@ -209,7 +209,7 @@ Define cookies in your `manifest.xml` file.
209209

210210
React to user consent changes in your custom JavaScript.
211211

212-
<PageRef page="../../../guides/plugins/plugins/storefront/reacting-to-cookie-consent-changes" />
212+
<PageRef page="../../../guides/plugins/plugins/storefront/advanced/reacting-to-cookie-consent-changes" />
213213

214214
## Best Practices
215215

concepts/extensions/apps-concept.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Shopware communicates with your app exclusively via HTTP requests. Therefore, yo
2222

2323
![Communication between Shopware and your app](../../assets/extensions-apps-shopwareCommunication.svg)
2424

25-
To secure this communication, a registration handshake is performed during the installation of your app. During this registration, it is verified that Shopware talks to the right app backend server, and your app gets credentials used to authenticate against the API. See [App registration & backend setup](../../guides/plugins/apps/app-registration-setup.md).
25+
To secure this communication, a registration handshake is performed during the installation of your app. During this registration, it is verified that Shopware talks to the right app backend server, and your app gets credentials used to authenticate against the API. See [App registration & backend setup](../../guides/plugins/apps/lifecycle/app-registration-setup.md).
2626

2727
::: info
2828
Note that this is optional if Shopware and your app don't need to communicate, e.g., because your app provides a [Theme](../../guides/plugins/themes/index.md).
@@ -38,7 +38,7 @@ Your app can modify the Storefront's appearance by shipping your Storefront asse
3838
This functionality is available starting with Shopware 6.4.1.0.
3939
:::
4040

41-
Shopware provides functionality that allows your app to integrate payment providers. You can use synchronous payments with providers that do not require user interaction; in that case, approval can be requested with a simple background request. You can use asynchronous payments if you want to redirect the user to a payment provider. Your app then provides a URL for redirection. After the user returns to the shop, Shopware will verify the payment status with your app. Find out more about providing payment endpoints in the [App payment guide](../../guides/plugins/apps/payment.md).
41+
Shopware provides functionality that allows your app to integrate payment providers. You can use synchronous payments with providers that do not require user interaction; in that case, approval can be requested with a simple background request. You can use asynchronous payments if you want to redirect the user to a payment provider. Your app then provides a URL for redirection. After the user returns to the shop, Shopware will verify the payment status with your app. Find out more about providing payment endpoints in the [App payment guide](../../guides/plugins/apps/checkout/payment.md).
4242

4343
## Execute business logic inside Shopware with App Scripts
4444

concepts/framework/architecture/storefront-concept.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,4 @@ Extending or adjusting a **translation** in Shopware 6 can be done by adding you
119119
Storefront snippets are located in `platform/src/Storefront/Resources/snippet`.
120120
:::
121121

122-
Inside that directory, you will find a specific subdirectory for each language, e.g., `de_DE` following the ISO standard. Localization is done using the exact ISO. In addition to the language, the country of destination is also supplied. By default, two Storefront translations are provided: `de_DE` and `en_GB`. There are, of course, language plugins for other locales available. Inside these JSON files, you will find a simple translation and the possibility to work with variables and pluralization, which are wrapped with the `%` character. The reference of a translated value is used inside our Twig templates by calling the Twig function `trans` and working with interpolations \( e.g. `{{ "general.homeLink"|trans }}`\).
122+
Inside that directory, you will find a specific subdirectory for each language, e.g., `de_DE` following the ISO standard. Localization is done using the exact ISO. In addition to the language, the country of destination is also supplied. By default, two Storefront translations are provided: `de_DE` and `en_GB`. There are, of course, language plugins for other locales available. Inside these JSON files, you will find a simple translation and the possibility to work with variables and pluralization, which are wrapped with the `%` character. The reference of a translated value is used inside our Twig templates by calling the Twig function `trans` and working with interpolations \( e.g. <code v-pre>{{ "general.homeLink"|trans }}</code>\).

concepts/framework/data-abstraction-layer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ This is the recommended way for developers to interface with the DAL or the data
3232

3333
### Provisioning code to use the repositories
3434

35-
Before using the repositories, you will need to get them from the [Dependency Injection Container (DIC)](../../guides/plugins/plugins/plugin-fundamentals/dependency-injection).
35+
Before using the repositories, you will need to get them from the [Dependency Injection Container (DIC)](../../guides/plugins/plugins/services/dependency-injection.md).
3636
This is done with [Constructor injection](https://symfony.com/doc/current/service_container/injection_types.html#constructor-injection), so you will need to extend your services constructor by expecting an EntityRepository:
3737

3838
```php
@@ -55,7 +55,7 @@ $services->set(Swag\ExamplePlugin\Service\DalExampleService::class)
5555

5656
You can read more about dependency injection and service registration in Shopware in the services guides:
5757

58-
<PageRef page="../../guides/plugins/plugins/plugin-fundamentals/add-custom-service" />
58+
<PageRef page="../../guides/plugins/plugins/services/add-custom-service" />
5959

6060
### Translations
6161

concepts/framework/migrations.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ For Shopware to recognize additional plugin migrations, they need to be placed i
1515

1616
Each migration filename follows a specific pattern. To ease plugin development, Shopware provides a console command which can be used to generate a correctly named migration file with the default methods needed.
1717

18-
<PageRef page="../../guides/plugins/plugins/plugin-fundamentals/database-migrations.html#create-migration" title="Create migration" />
19-
2018
## Modifying the database
2119

2220
Each migration can have two methods. The `update` and `updateDestructive`. The `update` method must contain only non-destructive changes which can be rolled back at any time. The `updateDestructive` method can contain destructive changes, like dropping columns or tables, which cannot be reversed. For examples of database migrations, refer to the below guide:
2321

24-
<PageRef page="../../guides/plugins/plugins/plugin-fundamentals/database-migrations.html" title="Database migration" />
22+
<PageRef page="../../guides/plugins/plugins/database/database-migrations" title="Database migration" />

guides/development/extensions/architecture/extendability.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ The best-known example is the [`checkout.order.placed`](https://github.com/shopw
9090

9191
#### Hooks
9292

93-
Hooks are another good example of the observer pattern. Hooks are entry points for apps where the so-called [**App scripts**](/docs/guides/plugins/apps/app-scripts/) are enabled. Since apps do not have the permission to execute code on the server directly, hooks are a way to execute more complex business logic within the request without having to address the own app server via HTTP. Hooks are the equivalent of **events**.
93+
Hooks are another good example of the observer pattern. Hooks are entry points for apps where the so-called [**App scripts**](../../../plugins/apps/app-scripts/index.md) are enabled. Since apps do not have the permission to execute code on the server directly, hooks are a way to execute more complex business logic within the request without having to address the own app server via HTTP. Hooks are the equivalent of **events**.
9494

9595
One of the best-known hooks is the [`product page loaded hook`](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Storefront/Page/Product/ProductPageLoadedHook.php). This hook allows apps to load additional data on the product detail page. The hook is instantiated and dispatched [at the controller level](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Storefront/Controller/ProductController.php#L100). Each app script registered to the hook is executed.
9696

0 commit comments

Comments
 (0)