Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
e062c8e
chore: adds last changes from mega-PR
lasomethingsomething May 7, 2026
6d00eda
Update index.md
lasomethingsomething May 7, 2026
deec717
Update index.md
lasomethingsomething May 7, 2026
234dfb0
Update index.md
lasomethingsomething May 7, 2026
b603607
Update twig-function-reference.md
lasomethingsomething May 7, 2026
228fcf7
Update add-custom-cms-blocks.md
lasomethingsomething May 7, 2026
8c5b066
Update index.md
lasomethingsomething May 7, 2026
c4ad1f1
Update message-queue.md
lasomethingsomething May 7, 2026
de1a0b3
Update code-structure.md
lasomethingsomething May 7, 2026
1fc0bf3
Update index.md
lasomethingsomething May 7, 2026
a823494
Update devenv-setup.md
lasomethingsomething May 8, 2026
e7807fb
Update devenv-setup.md
lasomethingsomething May 8, 2026
5b59c55
Update migrate-zip-to-composer-project.md
lasomethingsomething May 8, 2026
018c0ae
Update add-custom-modules.md
lasomethingsomething May 8, 2026
e41ff1e
Update cart-manipulation.md
lasomethingsomething May 8, 2026
218ab99
Update data-loading.md
lasomethingsomething May 8, 2026
0d3bcd4
Update add-custom-cms-blocks.md
lasomethingsomething May 8, 2026
bf8103a
Update creating-plugins.md
lasomethingsomething May 8, 2026
897181a
Update custom-fields-of-type-media.md
lasomethingsomething May 8, 2026
f971229
Update plugin-lifecycle.md
lasomethingsomething May 8, 2026
8295892
Update customize-templates.md
lasomethingsomething May 8, 2026
911f26c
Update index.md
lasomethingsomething May 8, 2026
90199dc
Update webhook.md
lasomethingsomething May 8, 2026
ca38db4
Update phpstan.md
lasomethingsomething May 8, 2026
43424d4
Update in-app-purchase-gateway.md
lasomethingsomething May 8, 2026
7dfb936
fix: update broken links
lasomethingsomething May 11, 2026
82b89f8
Update guides/hosting/infrastructure/optional-packages.md
lasomethingsomething May 12, 2026
32a3df6
Update guides/hosting/infrastructure/optional-packages.md
lasomethingsomething May 12, 2026
d64d6c0
Update guides/hosting/infrastructure/optional-packages.md
lasomethingsomething May 12, 2026
3c68de7
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
eb6248b
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
b7c371e
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
c92b128
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
5544e0d
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
627a645
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
6bc9e1f
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
6732930
Update guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md
lasomethingsomething May 12, 2026
1b163d3
fix: correct theme configuration asset path
lasomethingsomething May 12, 2026
83e2017
fix: correct remaining theme asset paths
lasomethingsomething May 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ redirects:
products/plugins/commercial/: products/extensions/commercial/
guides/installation/devenv.html: guides/installation/setups/devenv.html
products/cli/extension-commands/validation.html: products/cli/validation.html
products/cli/project-commands/remote-extension-managment.html: products/cli/project-commands/remote-extension-management.html
products/paas/: products/paas/index.html
products/paas/cli-setup.html: products/paas/shopware-paas/cli-setup.html
products/paas/repository.html: products/paas/shopware-paas/repository.html
Expand Down Expand Up @@ -136,7 +137,6 @@ redirects:
products/paas/shopware/CLI/repository.html: products/paas/shopware/guides/setting-up-repository-access.html
products/paas/shopware/setup-shopware-for-paas.html: products/paas/shopware/get-started/prepare-codebase.html
products/paas/shopware/project_setup.html: products/paas/shopware/get-started/quickstart.html
guides/plugins/plugins/testing/end-to-end-testing.html: guides/plugins/plugins/testing/cypress/cypress-end-to-end-testing.html
resources/guidelines/testing/cypress-best-practices.html: guides/plugins/plugins/testing/cypress/cypress-best-practises.html
resources/guidelines/trouble-shoting.html: resources/guidelines/troubleshooting.html
products/extensions/subscriptions/guides/event.html: products/extensions/subscriptions/guides/separate-checkout.html
Expand All @@ -160,6 +160,17 @@ redirects:
guides/plugins/plugins/administration/system-updates/vite.html: guides/upgrades-migrations/administration/vite.html
guides/plugins/plugins/administration/system-updates/vue-migration-build.html: guides/upgrades-migrations/administration/vue-migration-build.html
guides/plugins/plugins/administration/system-updates/vue-native.html: guides/upgrades-migrations/administration/vue-native.html
guides/plugins/plugins/testing/end-to-end-testing.html: guides/plugins/plugins/testing/cypress/cypress-end-to-end-testing.html
guides/plugins/themes/add-assets-to-theme.html: guides/plugins/themes/assets/add-assets-to-theme.html
guides/plugins/themes/add-css-js-to-theme.html: guides/plugins/themes/styling/add-css-js-to-theme.html
guides/plugins/themes/add-icons.html: guides/plugins/themes/assets/add-icons.html
guides/plugins/themes/add-theme-inheritance-without-resources.html: guides/plugins/themes/inheritance/add-theme-inheritance-without-resources.html
guides/plugins/themes/add-theme-inheritance.html: guides/plugins/themes/inheritance/add-theme-inheritance.html
guides/plugins/themes/differences-plugins-and-apps-vs-themes.html: guides/plugins/themes/index.html
guides/plugins/themes/override-bootstrap-variables-in-a-theme.html: guides/plugins/themes/styling/override-bootstrap-variables-in-a-theme.html
guides/plugins/themes/override-theme-breakpoints.html: guides/plugins/themes/styling/override-theme-breakpoints.html
guides/plugins/themes/theme-configuration.html: guides/plugins/themes/configuration/theme-configuration.html
guides/plugins/themes/theme-inheritance-configuration.html: guides/plugins/themes/configuration/theme-inheritance-configuration.html
resources/references/upgrades/core/translation/extension-translation.html: guides/upgrades-migrations/extension-translation.html
resources/references/upgrades/core/translation/language-pack-migration.html: guides/upgrades-migrations/language-pack-migration.html
resources/references/upgrades/administration/: guides/upgrades-migrations/administration/
Expand All @@ -176,6 +187,10 @@ redirects:
resources/guidelines/testing/store/quality-guidelines-plugins/: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/quality-guidelines-apps/: guides/development/testing/testing-guidelines.html
resources/guidelines/testing/store/quality-guidelines-plugins/#the-way-we-test-apps-based-on-the-plugin-system: guides/development/testing/testing-guidelines.html
resources/guidelines/troubleshooting/index.html: guides/development/troubleshooting/index.html
resources/guidelines/troubleshooting/elasticsearch.html: guides/hosting/infrastructure/elasticsearch/elasticsearch.html
resources/guidelines/troubleshooting/performance.html: guides/hosting/performance/performance.html
resources/guidelines/troubleshooting/phpstan.html: guides/development/troubleshooting/phpstan.html
guides/integrations-api/general-concepts/: guides/development/integrations-api/
guides/integrations-api/general-concepts/api-versioning.html: guides/development/integrations-api/request-headers.html#sw-version-id
guides/integrations-api/general-concepts/request-headers.html: guides/development/integrations-api/request-headers.html
Expand Down Expand Up @@ -205,7 +220,6 @@ redirects:
guides/plugins/plugins/testing/cypress/cypress-best-practises.html: guides/development/testing/legacy/cypress/cypress-best-practises.html
guides/plugins/plugins/testing/cypress/cypress-end-to-end-testing/: guides/development/testing/legacy/cypress/
guides/resources/references/core-reference/dal-reference/filters-reference.html: resources/references/core-reference/dal-reference/filters-reference.html
resources/guidelines/code/core/database-migations.html: resources/guidelines/code/core/database-migrations.html
resources/guidelines/code/core/final-and-internal.html: guides/development/extensions/architecture/final-and-internal.html
resources/guidelines/code/core/internal.html: guides/development/extensions/architecture/internal.html
resources/guidelines/code/core/extendability.html: guides/development/extensions/architecture/extendability.html
Expand Down
4 changes: 2 additions & 2 deletions concepts/framework/data-abstraction-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
Some concepts used by the DAL, like Criteria, may sound familiar to you if you know [Doctrine](https://symfony.com/doc/current/doctrine.html) or other ORMs.
A reference to more in-depth documentation about the DAL can be found below.

Refer to [Shopware 6.6.5.0 entity relationship model](../../../assets/shopware6-erd.pdf) that depicts different tables and their relationships.
Refer to [Shopware 6.6.5.0 entity relationship model](../../assets/shopware6-erd.pdf) that depicts different tables and their relationships.

Alternatively, you can export a fresh ER model, using [MySQL Workbench](https://dev.mysql.com/doc/workbench/en/wb-reverse-engineering.html), [PHPStorm Database Tools](https://www.jetbrains.com/help/phpstorm/creating-diagrams.html), or similar tool.

Expand Down Expand Up @@ -55,7 +55,7 @@

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

<PageRef page="../../guides/plugins/plugins/services/add-custom-service" />
<PageRef page="../../guides/plugins/plugins/services/add-custom-service.md" />

Check warning on line 58 in concepts/framework/data-abstraction-layer.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] concepts/framework/data-abstraction-layer.md#L58

Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
concepts/framework/data-abstraction-layer.md:58:60: Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

### Translations

Expand Down
4 changes: 2 additions & 2 deletions concepts/framework/elasticsearch.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ nav:

Elasticsearch is a NoSQL Database focused on search capabilities to act as a search engine.
The Shopware implementation of Elasticsearch provides an integrated way to improve the performance of product and category searches.
To use Elasticsearch for your shop, take a look at our [Elasticsearch guide](../../guides/hosting/infrastructure/elasticsearch/elasticsearch-setup)
To use Elasticsearch for your shop, take a look at our [Elasticsearch guide](../../guides/hosting/infrastructure/elasticsearch/index.md).

## Concept

Expand Down Expand Up @@ -89,4 +89,4 @@ The command `es:test:analyzer` runs an Elasticsearch analyzer on your indices. F

## Customize the Elasticsearch integration

To customize the Elasticsearch integration or add your own fields and entities, refer to the [Elasticsearch extension guide](../../guides/plugins/plugins/elasticsearch/add-product-entity-extension-to-elasticsearch)
To customize the Elasticsearch integration or add your own fields and entities, refer to the [Elasticsearch extension guide](../../guides/plugins/plugins/integrations/elasticsearch/add-product-entity-extension-to-elasticsearch.md)
9 changes: 4 additions & 5 deletions concepts/translations/built-in-translation-system.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ It provides the same set of translations as the **Language Pack** plugin and is

> **Note:** The Language Pack plugin is deprecated and will be removed with Shopware version **6.8.0.0**.
> If you are currently using the Language Pack plugin, please refer to
> the [Migration guide][migration-guide] for instructions
> the [Migration guide](../../guides/upgrades-migrations/language-pack-migration.md) for instructions
> on switching to the new system.

## Where do the translations come from?
Expand All @@ -19,7 +19,7 @@ This repository is managed using [Crowdin](https://crowdin.com/project/shopware6
as well as for some official plugins. The repository syncs with Crowdin every day to ensure that the latest translations
are always available.

## How to Install and Update Translations?
## How to install and update translations?

To use the built-in translation system, you can use the following console commands:

Expand Down Expand Up @@ -75,7 +75,7 @@ When loading translations, the system follows a defined priority order to resolv
look at its documentation.
3. Country-agnostic translations (`en` and `de`) – These are shipped with Shopware and its plugins. They ensure that the
system always has a reliable fallback language and provide a consistent developer experience without requiring you
to wait until your translations are accepted at [translate.shopware.com](https://crowdin.com/project/shopware6). For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](./../../concepts/translations/fallback-language-selection).
to wait until your translations are accepted at [translate.shopware.com](https://crowdin.com/project/shopware6). For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](../../concepts/translations/fallback-language-selection.md).
4. Built-in translation system – Finally, the translations installed via the built-in translation system are applied.

## Built-in translation system and Flysystem
Expand Down Expand Up @@ -225,5 +225,4 @@ configuration details loaded from the `translation.yaml` file.
You can require it via dependency injection and because of the usage of the `TranslationConfigLoader` with lazy loading,
the configuration is always available when needed.

[migration-guide]: ../../resources/references/upgrades/core/translation/language-pack-migration.md
[language-layer-docs]: TODO
More information is available in the [Migration Guide](../../guides/upgrades-migrations/language-pack-migration.md).
4 changes: 2 additions & 2 deletions concepts/translations/fallback-language-selection.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ The command supports several options:

## Implementation guidelines for extension developers

For detailed instructions, see the [Extension Translation Migration](./../../resources/references/upgrades/core/translation/extension-translation) guide. In short:
For detailed instructions, see the [Extension Translation Migration](../../guides/upgrades-migrations/extension-translation.md) guide. In short:

- **Create a complete base file** (`messages.<language>.base.json`) for each supported language.
- **Add patch files only when needed** – keep them minimal.
Expand All @@ -62,4 +62,4 @@ For detailed instructions, see the [Extension Translation Migration](./../../res
## Conclusion

The country-independent snippet layer streamlines translation maintenance by consolidating common strings into a neutral fallback file and isolating regional vocabulary into small patch files.
For further examples, refer to [Built-in Translation Handling](./built-in-translation-system) and [Extension Translation Migration](./../../resources/references/upgrades/core/translation/extension-translation).
For further examples, refer to [Built-in Translation Handling](built-in-translation-system.md) and [Extension Translation Migration](../../guides/upgrades-migrations/extension-translation.md).
4 changes: 2 additions & 2 deletions guides/development/accessibility/storefront-accessibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ nav:

# Accessibility in the Storefront

At Shopware, we are committed to creating inclusive and barrier-free shopping experiences for our merchants and their customers.
Shopware is committed to creating inclusive and barrier-free shopping experiences for our merchants and their customers.

## What does Shopware do to ensure accessibility?

* Shopware is committed to fulfilling the [WCAG 2.1 AA](https://www.w3.org/TR/WCAG21/) accessibility guidelines and Barrier-Free Information Technology Regulation (BITV 2.0) in the Storefront.
* You can find more information on [shopware.design](https://shopware.design/foundations/accessibility.html) and [in our blog post](https://www.shopware.com/en/news/accessible-online-store-by-2025/).
* You can find more information on [shopware.design](https://shopware.design/foundations/accessibility.html) and [in our blog post](https://www.shopware.com/en/news/accessible-online-store-by-2025/).
* The Storefront is using [Bootstrap components](https://getbootstrap.com/docs/5.3/getting-started/accessibility/) that already consider good accessibility practices, for example, using aria roles.
* Much of the HTML structure and CSS styling already fulfill accessibility guidelines. However, there are still [open accessibility issues](https://github.com/shopware/shopware/issues?q=state%3Aopen%20label%3Aarea%2Faccessibility) that will be addressed.
* Automated [E2E testing with playwright](https://github.com/shopware/shopware/tree/trunk/tests/acceptance) and axe reporter are used to ensure future accessibility.
Expand Down
6 changes: 4 additions & 2 deletions guides/development/extensions/architecture/extendability.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ This document represents core guidelines and has been mirrored from the core in
Find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/extendability.md)
:::

The Extendability of our software and its features is an essential part of development. Enabling external companies, as well as ourselves, to customize our software so it can be adapted to different business cases is the foundation of our software's success.
## Overview

The extendability of our software and its features is an essential part of development. Enabling external companies, as well as ourselves, to customize our software so it can be adapted to different business cases is the foundation of our software's success.

Regarding software extendability, different business cases and requirements must be considered, and we must also build the software architecture accordingly.

Expand Down Expand Up @@ -67,7 +69,7 @@ All the above requirements and approaches are based on different design patterns

With the Decoration pattern, we can replace or extend certain areas of Shopware completely. We often use this pattern for our Store API routes to provide more functionality in the Store API. Another use case is the **functional replacement market** case, where we can completely replace features with other technologies or external libraries.

An example Store API route is the CategoryRoute. For this route, there is an [Abstract class](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Core/Content/Category/SalesChannel/AbstractCategoryRoute.php) to which we type behind a [Concrete implementation](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Core/Content/Category/SalesChannel/CategoryRoute.php) and a [Cache decorator](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Core/Content/Category/SalesChannel/CachedCategoryRoute.php)
An example Store API route is the CategoryRoute. For this route, there is an [Abstract class](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Core/Content/Category/SalesChannel/AbstractCategoryRoute.php) to which we type behind a [Concrete implementation](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Core/Content/Category/SalesChannel/CategoryRoute.php) and a [Cache decorator](https://github.com/shopware/shopware/blob/v6.4.12.0/src/Core/Content/Category/SalesChannel/CachedCategoryRoute.php).

### Factory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ nav:

---

# Final and internal annotation
# Final and Internal Annotation

::: info
This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository.
You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/final-and-internal.md)
:::

## Overview

We use `@final` and `@internal` annotations to mark classes as final or internal. This allows us to mark services and classes as public or private API and to define which breaking changes can be expected.

## Final
Expand Down
2 changes: 2 additions & 0 deletions guides/development/extensions/architecture/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ nav:

# Extension Architecture

## Overview

This section defines the architectural principles that govern how Shopware can be extended. It describes extension contracts, subsystem boundaries, and public API guarantees that apply to all extension types:

* Plugins
Expand Down
2 changes: 2 additions & 0 deletions guides/development/extensions/architecture/internal.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ This document represents core guidelines and has been mirrored from the core in
You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/internal.md)
:::

## Overview

All classes and elements (methods, properties, constants) that are defined as protected or public are initially considered part of the Public API for third-party developers.

The Shopware Public API must be kept compatible with each release. This means that the following must not change for third-party developers in a minor release:
Expand Down
Loading
Loading