From 8144698e9d3ab46f6c8f4bbc8aeefcb601f518fa Mon Sep 17 00:00:00 2001 From: sushmangupta Date: Mon, 20 Jul 2026 17:36:33 +0200 Subject: [PATCH 1/9] Replace academy links with ComHub LP links --- guides/plugins/plugins/bundle.md | 2 +- guides/plugins/plugins/database/database-migrations.md | 2 +- .../plugins/framework/data-handling/add-data-translations.md | 2 +- guides/plugins/plugins/framework/data-handling/writing-data.md | 2 +- guides/plugins/plugins/framework/event/add-custom-event.md | 2 +- guides/plugins/plugins/framework/event/listening-to-events.md | 2 +- .../plugins/plugin-fundamentals/add-plugin-configuration.md | 2 +- .../plugins/plugins/plugin-fundamentals/add-scheduled-task.md | 2 +- guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md | 2 +- guides/plugins/plugins/services/adjusting-service.md | 2 +- guides/plugins/plugins/services/dependency-injection.md | 2 +- .../plugins/storefront/controllers/add-custom-controller.md | 2 +- .../controllers/add-dynamic-content-via-ajax-calls.md | 2 +- index.md | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/guides/plugins/plugins/bundle.md b/guides/plugins/plugins/bundle.md index 1790b3098a..8439e7422c 100644 --- a/guides/plugins/plugins/bundle.md +++ b/guides/plugins/plugins/bundle.md @@ -214,4 +214,4 @@ Also check out these useful videos: * [Bundle Methods in a plugin](https://www.youtube.com/watch?v=cUXcDwQwmPk) * [Symfony services in Shopware 6](https://www.youtube.com/watch?v=l5QJ8EtilaY) -* The free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma) +* The free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-essentials) diff --git a/guides/plugins/plugins/database/database-migrations.md b/guides/plugins/plugins/database/database-migrations.md index 7da92d7cc9..674994a3d0 100644 --- a/guides/plugins/plugins/database/database-migrations.md +++ b/guides/plugins/plugins/database/database-migrations.md @@ -14,7 +14,7 @@ Migrations are PHP classes used to manage incremental and reversible database sc To add your own database migrations for your plugin, you first need a plugin as a base. Therefore, you can refer to the [Plugin Base Guide](../plugin-base-guide.md). ::: info -Refer to this video on **[Database migrations](https://www.youtube.com/watch?v=__pWwaK6lxw)**. Also, available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Database migrations](https://www.youtube.com/watch?v=__pWwaK6lxw)**. Also, available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-essentials). ::: ## File structure diff --git a/guides/plugins/plugins/framework/data-handling/add-data-translations.md b/guides/plugins/plugins/framework/data-handling/add-data-translations.md index 9ac806aa85..8bc4a5db8f 100644 --- a/guides/plugins/plugins/framework/data-handling/add-data-translations.md +++ b/guides/plugins/plugins/framework/data-handling/add-data-translations.md @@ -18,7 +18,7 @@ This guide is built upon the [Plugin base guide](../../plugin-base-guide), but a In order to create data translations you need an existing entity, as this guide is based on the [Adding custom complex data](add-custom-complex-data) guide, you should have a look at it first. ::: info -Refer to this video on **[Translating your entity](https://www.youtube.com/watch?v=FfqxfQl3I4w)** that deals with data translations. Also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Translating your entity](https://www.youtube.com/watch?v=FfqxfQl3I4w)** that deals with data translations. Also available on our free online training ["Shopware 6 Backend Development"](hhttps://hub.shopware.com/learn/path/shopware-backend-development-essentials). ::: ## Creating the migration diff --git a/guides/plugins/plugins/framework/data-handling/writing-data.md b/guides/plugins/plugins/framework/data-handling/writing-data.md index f1ba01248e..9c6929a378 100644 --- a/guides/plugins/plugins/framework/data-handling/writing-data.md +++ b/guides/plugins/plugins/framework/data-handling/writing-data.md @@ -18,7 +18,7 @@ This guide is built upon the [Plugin base guide](../../plugin-base-guide.md), so You also might want to have a look at the concept behind the [Data abstraction layer](../../../../../concepts/framework/data-abstraction-layer.md) first to get a better grasp of how it works. ::: info -Refer to this video on **[Using repositories](https://www.youtube.com/watch?v=b3wOs_OWvP0)** that covers the basics of repositories. Also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Using repositories](https://www.youtube.com/watch?v=b3wOs_OWvP0)** that covers the basics of repositories. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). ::: ## Writing data diff --git a/guides/plugins/plugins/framework/event/add-custom-event.md b/guides/plugins/plugins/framework/event/add-custom-event.md index 84107f9173..99a0b2675c 100644 --- a/guides/plugins/plugins/framework/event/add-custom-event.md +++ b/guides/plugins/plugins/framework/event/add-custom-event.md @@ -16,7 +16,7 @@ In this guide, you will learn how to create your own event. You can read more ab To create your own event for your plugin, you first need a plugin as base. Therefore, you can refer to the [Plugin Base Guide](../../plugin-base-guide). ::: info -Refer to this video on **[Event dispatching and handling](https://www.youtube.com/watch?v=JBpa5nBoC78)** which is a live coding example on custom events. Also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Event dispatching and handling](https://www.youtube.com/watch?v=JBpa5nBoC78)** which is a live coding example on custom events. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/events-and-di). ::: ## Event interfaces and classes diff --git a/guides/plugins/plugins/framework/event/listening-to-events.md b/guides/plugins/plugins/framework/event/listening-to-events.md index e399d6c1d8..e1f3424d4e 100644 --- a/guides/plugins/plugins/framework/event/listening-to-events.md +++ b/guides/plugins/plugins/framework/event/listening-to-events.md @@ -19,7 +19,7 @@ To create an own plugin, you can refer to the [Plugin Base Guide](../../plugin-b ::: info Refer to this video on **[Live coding example with product.loaded event](https://www.youtube.com/watch?v=cJDaiuyjKJk)**. -Also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Also available on our free online training ["Shopware 6 Backend Development"](hhttps://hub.shopware.com/learn/path/shopware-backend-development-intermediate). ::: ## Creating your own subscriber diff --git a/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md b/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md index 657606864a..45f9b155bc 100644 --- a/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md +++ b/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md @@ -20,7 +20,7 @@ A running plugin. Review the [Plugin Base Guide](../plugin-base-guide.md) for in ## Create your plugin configuration ::: info -This video is part of the free Shopware Academy online training ["Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +This video is part of the free Shopware Academy online training ["Backend Development"](https://hub.shopware.com/learn/unit/plugin-configuration). ::: Create `src/Resources/config/config.xml` inside your plugin. The content of the `config.xml` will be dynamically rendered in the Administration. Start with a simple text field first; the available field types and advanced options are listed below. diff --git a/guides/plugins/plugins/plugin-fundamentals/add-scheduled-task.md b/guides/plugins/plugins/plugin-fundamentals/add-scheduled-task.md index 1f9109c277..9a5e612d5a 100644 --- a/guides/plugins/plugins/plugin-fundamentals/add-scheduled-task.md +++ b/guides/plugins/plugins/plugin-fundamentals/add-scheduled-task.md @@ -14,7 +14,7 @@ Quite often one might want to run any type of code on a regular basis, e.g. to c This guide builds on the [Plugin Base Guide](../plugin-base-guide.md). Familiarity with `services.php` is helpful — see [Dependency Injection](../services/dependency-injection.md) and [Creating a service](../services/add-custom-service.md). ::: info -Refer to this video on **[Adding scheduled tasks](https://www.youtube.com/watch?v=88S9P3x6wYE)**. Also, available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Adding scheduled tasks](https://www.youtube.com/watch?v=88S9P3x6wYE)**. Also, available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). ::: ## Registering a scheduled task in the DI container diff --git a/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md b/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md index 6e062c1de7..b477408ba6 100644 --- a/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md +++ b/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md @@ -180,7 +180,7 @@ public function uninstall(UninstallContext $context): void ``` ::: info -Refer to this video on **[Uninstalling a plugin](https://www.youtube.com/watch?v=v9OXrUJzC1I)** when dealing with plugin uninstall routines. Also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Uninstalling a plugin](https://www.youtube.com/watch?v=v9OXrUJzC1I)** when dealing with plugin uninstall routines. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/configuration-and-settings). ::: ## Next steps diff --git a/guides/plugins/plugins/services/adjusting-service.md b/guides/plugins/plugins/services/adjusting-service.md index 13b7dfda1c..1820326f1e 100644 --- a/guides/plugins/plugins/services/adjusting-service.md +++ b/guides/plugins/plugins/services/adjusting-service.md @@ -18,7 +18,7 @@ This guide explains how to adjust a service using decoration. For more details, This guide builds on the [Plugin Base Guide](../plugin-base-guide.md). ::: info -Refer to this video on **[Decorating services](https://www.youtube.com/watch?v=Rgf4c9rd1kw)** explaining service decorations with an easy example. Also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Refer to this video on **[Decorating services](https://www.youtube.com/watch?v=Rgf4c9rd1kw)** explaining service decorations with an easy example. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/events-and-di). ::: ## Decorating the service diff --git a/guides/plugins/plugins/services/dependency-injection.md b/guides/plugins/plugins/services/dependency-injection.md index ba1f4ae506..37d18bc252 100644 --- a/guides/plugins/plugins/services/dependency-injection.md +++ b/guides/plugins/plugins/services/dependency-injection.md @@ -15,7 +15,7 @@ This guide builds on the [Plugin Base Guide](../plugin-base-guide.md) and requir ::: info Refer to this video on **[Injecting services into a command](https://www.youtube.com/watch?v=Z4kyx9J1xaQ)** explaining DI based on the example of a custom CLI command. -It is also available on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +It is also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/events-and-di). ::: ## Injecting another service diff --git a/guides/plugins/plugins/storefront/controllers/add-custom-controller.md b/guides/plugins/plugins/storefront/controllers/add-custom-controller.md index c154d2d8fe..ef09d57526 100644 --- a/guides/plugins/plugins/storefront/controllers/add-custom-controller.md +++ b/guides/plugins/plugins/storefront/controllers/add-custom-controller.md @@ -18,7 +18,7 @@ Therefore, you can refer to the [Plugin Base Guide](../../plugin-base-guide.md). ::: info Refer to this video on **[Common Storefront controller tasks](https://www.youtube.com/watch?v=5eXXNh4cQG0)** explaining the basics about Storefront controllers. -Available also on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Available also on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). ::: ## Adding custom Storefront controller diff --git a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md index 16e19869ea..fa10b11d21 100644 --- a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md +++ b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md @@ -18,7 +18,7 @@ For this guide we will use a very simple controller that returns a timestamp wra ::: info Refer to this video on **[Creating a JSON controller](https://www.youtube.com/watch?v=VzREUDdpZ3E)** dealing with the creation of a controller that returns JSON data. -Available also on our free online training ["Shopware 6 Backend Development"](https://academy.shopware.com/courses/shopware-6-backend-development-with-jisse-reitsma). +Available also on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). ::: As mentioned before this guide builds up upon the [adding a custom controller](../controllers/add-custom-controller.md) guide. diff --git a/index.md b/index.md index 2644612cdf..1f3dff5b8e 100644 --- a/index.md +++ b/index.md @@ -12,7 +12,7 @@ Whereas **Concepts** convey the ideas, inner workings and architectural consider These two sections are complemented by the **References**, which contain structured code references, lists of flags, commands, endpoints which are useful for development. -Visit the [academy](https://academy.shopware.com/collections?category=developer-sw6) for video content. If you have any questions left, you can always ask them on [StackOverflow](https://stackoverflow.com/questions/tagged/shopware6?tab=Newest) or join our awesome community on [Discord](https://discord.com/channels/1308047705309708348/1309107911175176217). +Visit the [academy](https://hub.shopware.com/learn) for video content. If you have any questions left, you can always ask them on [StackOverflow](https://stackoverflow.com/questions/tagged/shopware6?tab=Newest) or join our awesome community on [Discord](https://discord.com/channels/1308047705309708348/1309107911175176217). To begin developing, [start here with our installation guide](guides/installation/index.md). From b4bf90f4d4563fd0ac0c581e3d0ca07a2944578e Mon Sep 17 00:00:00 2001 From: sushmangupta Date: Tue, 28 Jul 2026 14:51:08 +0200 Subject: [PATCH 2/9] Update video links --- .../testing/legacy/cypress/cypress-best-practises.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/guides/development/testing/legacy/cypress/cypress-best-practises.md b/guides/development/testing/legacy/cypress/cypress-best-practises.md index 11d956c913..5539b79ed5 100644 --- a/guides/development/testing/legacy/cypress/cypress-best-practises.md +++ b/guides/development/testing/legacy/cypress/cypress-best-practises.md @@ -21,13 +21,7 @@ We strongly recommend following Cypress's own best practices as well. ### Video -When it comes to dividing test types, selecting and prioritizing test cases, and thus designing tests, things get a bit more complicated. We have generally aligned our test strategy with the test pyramid, although not 100%. The pyramid states that end-to-end tests should be written in a few but well-chosen test cases because end-to-end tests are slow and expensive. - -At [Shopware Community Day](https://scd.shopware.com/en-US/) 2020, we gave a talk on how we approach automated testing in Shopware, how far we have come on this journey, and what we have gained so far: - - - -To sum it up briefly, the end-to-end tests are slow and thus expensive to maintain. That is why we need a way to prioritize our test cases. +When it comes to dividing test types, selecting and prioritizing test cases, and thus designing tests, things get a bit more complicated. We have generally aligned our test strategy with the test pyramid, although not 100%. The pyramid states that end-to-end tests should be written in a few but well-chosen test cases because end-to-end tests are slow and expensive. That is why we need a way to prioritize our test cases. ### When should I write an end-to-end test From 5f42bef9b6c804042d3fa884cba4315a76aa59d6 Mon Sep 17 00:00:00 2001 From: Su <112690947+sushmangupta@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:56:41 +0200 Subject: [PATCH 3/9] Update guides/plugins/plugins/framework/data-handling/add-data-translations.md Co-authored-by: Beytullah --- .../plugins/framework/data-handling/add-data-translations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/plugins/plugins/framework/data-handling/add-data-translations.md b/guides/plugins/plugins/framework/data-handling/add-data-translations.md index cc230cedb1..6ca53ce81b 100644 --- a/guides/plugins/plugins/framework/data-handling/add-data-translations.md +++ b/guides/plugins/plugins/framework/data-handling/add-data-translations.md @@ -20,7 +20,7 @@ This guide is built upon the [Plugin base guide](../../plugin-base-guide), but a In order to create data translations you need an existing entity, as this guide is based on the [Adding custom complex data](add-custom-complex-data) guide, you should have a look at it first. ::: info -Refer to this video on **[Translating your entity](https://www.youtube.com/watch?v=FfqxfQl3I4w)** that deals with data translations. Also available on our free online training ["Shopware 6 Backend Development"](hhttps://hub.shopware.com/learn/path/shopware-backend-development-essentials). +For Academy learning content on custom entities and translations, see our free learning path **["Shopware 6 Backend Development Intermediate"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate)**. ::: ## Creating the migration From 8dc4bdb79559bdc3f51bb86a6f2ef23309116196 Mon Sep 17 00:00:00 2001 From: Su <112690947+sushmangupta@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:57:06 +0200 Subject: [PATCH 4/9] Update guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md Co-authored-by: Beytullah --- .../plugins/plugin-fundamentals/add-plugin-configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md b/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md index 45f9b155bc..7b84e51d9e 100644 --- a/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md +++ b/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md @@ -20,7 +20,7 @@ A running plugin. Review the [Plugin Base Guide](../plugin-base-guide.md) for in ## Create your plugin configuration ::: info -This video is part of the free Shopware Academy online training ["Backend Development"](https://hub.shopware.com/learn/unit/plugin-configuration). +For Academy learning content on defining plugin configuration with `config.xml`, see the **[Plugin Configuration](https://hub.shopware.com/learn/unit/plugin-configuration)** in the free **Shopware Backend Development Essentials** learning path. ::: Create `src/Resources/config/config.xml` inside your plugin. The content of the `config.xml` will be dynamically rendered in the Administration. Start with a simple text field first; the available field types and advanced options are listed below. From 183e345ae50cb2407b891a05f50a79f301c4ab9a Mon Sep 17 00:00:00 2001 From: Su <112690947+sushmangupta@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:57:50 +0200 Subject: [PATCH 5/9] Apply suggestions from code review Co-authored-by: Beytullah --- guides/plugins/plugins/bundle.md | 8 +++++++- guides/plugins/plugins/database/database-migrations.md | 5 ++++- .../plugins/framework/data-handling/writing-data.md | 2 +- .../plugins/plugins/framework/event/add-custom-event.md | 2 +- .../plugins/plugin-fundamentals/plugin-lifecycle.md | 2 +- guides/plugins/plugins/services/adjusting-service.md | 2 +- index.md | 4 +++- 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/guides/plugins/plugins/bundle.md b/guides/plugins/plugins/bundle.md index 8439e7422c..335917cb86 100644 --- a/guides/plugins/plugins/bundle.md +++ b/guides/plugins/plugins/bundle.md @@ -214,4 +214,10 @@ Also check out these useful videos: * [Bundle Methods in a plugin](https://www.youtube.com/watch?v=cUXcDwQwmPk) * [Symfony services in Shopware 6](https://www.youtube.com/watch?v=l5QJ8EtilaY) -* The free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-essentials) + +For related Academy background on plugin lifecycle and services, see + +- **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** +- **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** + +from the free **Shopware Backend Development Intermediate** learning path. diff --git a/guides/plugins/plugins/database/database-migrations.md b/guides/plugins/plugins/database/database-migrations.md index 8672557e83..f4b2bf6723 100644 --- a/guides/plugins/plugins/database/database-migrations.md +++ b/guides/plugins/plugins/database/database-migrations.md @@ -14,7 +14,10 @@ Migrations are PHP classes used to manage incremental database schema changes. S To add your own database migrations for your plugin, you first need a plugin as a base. Therefore, you can refer to the [Plugin Base Guide](../plugin-base-guide.md). ::: info -Refer to this video on **[Database migrations](https://www.youtube.com/watch?v=__pWwaK6lxw)**. Also, available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-essentials). +For Academy learning content in the free **Shopware Backend Development Intermediate** learning path, see + +- **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** for plugin lifecycle and migration handling, +- **[Creating Entities](https://hub.shopware.com/learn/unit/creating-entities)** for migrations generated from custom entity definitions. ::: ## File structure diff --git a/guides/plugins/plugins/framework/data-handling/writing-data.md b/guides/plugins/plugins/framework/data-handling/writing-data.md index 9c6929a378..e231127b27 100644 --- a/guides/plugins/plugins/framework/data-handling/writing-data.md +++ b/guides/plugins/plugins/framework/data-handling/writing-data.md @@ -18,7 +18,7 @@ This guide is built upon the [Plugin base guide](../../plugin-base-guide.md), so You also might want to have a look at the concept behind the [Data abstraction layer](../../../../../concepts/framework/data-abstraction-layer.md) first to get a better grasp of how it works. ::: info -Refer to this video on **[Using repositories](https://www.youtube.com/watch?v=b3wOs_OWvP0)** that covers the basics of repositories. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). +For Academy learning content on events, subscribers, and dependency injection, see the **[Data Abstraction Layer](https://hub.shopware.com/learn/course/data-abstraction-layer)** course in the free **Shopware Backend Development Intermediate** learning path. ::: ## Writing data diff --git a/guides/plugins/plugins/framework/event/add-custom-event.md b/guides/plugins/plugins/framework/event/add-custom-event.md index 99a0b2675c..2a764503e7 100644 --- a/guides/plugins/plugins/framework/event/add-custom-event.md +++ b/guides/plugins/plugins/framework/event/add-custom-event.md @@ -16,7 +16,7 @@ In this guide, you will learn how to create your own event. You can read more ab To create your own event for your plugin, you first need a plugin as base. Therefore, you can refer to the [Plugin Base Guide](../../plugin-base-guide). ::: info -Refer to this video on **[Event dispatching and handling](https://www.youtube.com/watch?v=JBpa5nBoC78)** which is a live coding example on custom events. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/events-and-di). +For Academy learning content on events, subscribers, and dependency injection, see the **[Events and DI](https://hub.shopware.com/learn/course/events-and-di)** course in the free **Shopware Backend Development Intermediate** learning path. ::: ## Event interfaces and classes diff --git a/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md b/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md index b477408ba6..0aceaed225 100644 --- a/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md +++ b/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md @@ -180,7 +180,7 @@ public function uninstall(UninstallContext $context): void ``` ::: info -Refer to this video on **[Uninstalling a plugin](https://www.youtube.com/watch?v=v9OXrUJzC1I)** when dealing with plugin uninstall routines. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/configuration-and-settings). +For Academy learning content on plugin lifecycle methods, updates, migrations, and uninstall cleanup, see the **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** in the free **Shopware Backend Development Intermediate** learning path. ::: ## Next steps diff --git a/guides/plugins/plugins/services/adjusting-service.md b/guides/plugins/plugins/services/adjusting-service.md index 10bd62bc8e..5c7b06c451 100644 --- a/guides/plugins/plugins/services/adjusting-service.md +++ b/guides/plugins/plugins/services/adjusting-service.md @@ -18,7 +18,7 @@ This guide explains how to adjust a service using decoration. For more details, This guide builds on the [Plugin Base Guide](../plugin-base-guide.md). ::: info -Refer to this video on **[Decorating services](https://www.youtube.com/watch?v=Rgf4c9rd1kw)** explaining service decorations with an easy example. Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/events-and-di). +For Academy learning content on dependency injection, services, and service decoration, see **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** in the free **Shopware Backend Development Intermediate learning path. ::: ## Decorating the service diff --git a/index.md b/index.md index 1f3dff5b8e..ad0c89e857 100644 --- a/index.md +++ b/index.md @@ -12,7 +12,9 @@ Whereas **Concepts** convey the ideas, inner workings and architectural consider These two sections are complemented by the **References**, which contain structured code references, lists of flags, commands, endpoints which are useful for development. -Visit the [academy](https://hub.shopware.com/learn) for video content. If you have any questions left, you can always ask them on [StackOverflow](https://stackoverflow.com/questions/tagged/shopware6?tab=Newest) or join our awesome community on [Discord](https://discord.com/channels/1308047705309708348/1309107911175176217). +Visit the [Academy in the Community Hub](https://hub.shopware.com/learn) for guided learning content. + +If you have any questions left, you can always ask them on [StackOverflow](https://stackoverflow.com/questions/tagged/shopware6?tab=Newest) or join our awesome community on [Discord](https://discord.com/channels/1308047705309708348/1309107911175176217). To begin developing, [start here with our installation guide](guides/installation/index.md). From 832025b67cfa98ed0f1aeada53af8c61b7dd50a9 Mon Sep 17 00:00:00 2001 From: sushmangupta Date: Tue, 18 Aug 2026 16:10:15 +0200 Subject: [PATCH 6/9] Update links as per suggestions from Beytu --- guides/plugins/plugins/bundle.md | 2 +- guides/plugins/plugins/database/database-migrations.md | 2 +- .../plugins/framework/data-handling/writing-data.md | 2 +- .../plugins/plugins/framework/event/add-custom-event.md | 2 +- .../plugins/framework/event/listening-to-events.md | 3 +-- .../plugin-fundamentals/add-plugin-configuration.md | 2 +- .../plugins/plugin-fundamentals/plugin-lifecycle.md | 2 +- guides/plugins/plugins/services/adjusting-service.md | 2 +- guides/plugins/plugins/services/dependency-injection.md | 3 +-- .../storefront/controllers/add-custom-controller.md | 3 +-- .../controllers/add-dynamic-content-via-ajax-calls.md | 9 ++++++--- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/guides/plugins/plugins/bundle.md b/guides/plugins/plugins/bundle.md index 335917cb86..0849b7f65e 100644 --- a/guides/plugins/plugins/bundle.md +++ b/guides/plugins/plugins/bundle.md @@ -215,7 +215,7 @@ Also check out these useful videos: * [Bundle Methods in a plugin](https://www.youtube.com/watch?v=cUXcDwQwmPk) * [Symfony services in Shopware 6](https://www.youtube.com/watch?v=l5QJ8EtilaY) -For related Academy background on plugin lifecycle and services, see +For related Academy learnings on plugin lifecycle and services, see - **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** - **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** diff --git a/guides/plugins/plugins/database/database-migrations.md b/guides/plugins/plugins/database/database-migrations.md index f4b2bf6723..560066a6ff 100644 --- a/guides/plugins/plugins/database/database-migrations.md +++ b/guides/plugins/plugins/database/database-migrations.md @@ -14,7 +14,7 @@ Migrations are PHP classes used to manage incremental database schema changes. S To add your own database migrations for your plugin, you first need a plugin as a base. Therefore, you can refer to the [Plugin Base Guide](../plugin-base-guide.md). ::: info -For Academy learning content in the free **Shopware Backend Development Intermediate** learning path, see +For more free learning, refer to our learning path - **Shopware Backend Development Intermediate** - **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** for plugin lifecycle and migration handling, - **[Creating Entities](https://hub.shopware.com/learn/unit/creating-entities)** for migrations generated from custom entity definitions. diff --git a/guides/plugins/plugins/framework/data-handling/writing-data.md b/guides/plugins/plugins/framework/data-handling/writing-data.md index e231127b27..bcd9d5c0e2 100644 --- a/guides/plugins/plugins/framework/data-handling/writing-data.md +++ b/guides/plugins/plugins/framework/data-handling/writing-data.md @@ -18,7 +18,7 @@ This guide is built upon the [Plugin base guide](../../plugin-base-guide.md), so You also might want to have a look at the concept behind the [Data abstraction layer](../../../../../concepts/framework/data-abstraction-layer.md) first to get a better grasp of how it works. ::: info -For Academy learning content on events, subscribers, and dependency injection, see the **[Data Abstraction Layer](https://hub.shopware.com/learn/course/data-abstraction-layer)** course in the free **Shopware Backend Development Intermediate** learning path. +For Academy learning content on events, subscribers, and dependency injection, refer to this free course **[Data Abstraction Layer](https://hub.shopware.com/learn/course/data-abstraction-layer)** from **Shopware Backend Development Intermediate** learning path. ::: ## Writing data diff --git a/guides/plugins/plugins/framework/event/add-custom-event.md b/guides/plugins/plugins/framework/event/add-custom-event.md index 2a764503e7..aa6ded210c 100644 --- a/guides/plugins/plugins/framework/event/add-custom-event.md +++ b/guides/plugins/plugins/framework/event/add-custom-event.md @@ -16,7 +16,7 @@ In this guide, you will learn how to create your own event. You can read more ab To create your own event for your plugin, you first need a plugin as base. Therefore, you can refer to the [Plugin Base Guide](../../plugin-base-guide). ::: info -For Academy learning content on events, subscribers, and dependency injection, see the **[Events and DI](https://hub.shopware.com/learn/course/events-and-di)** course in the free **Shopware Backend Development Intermediate** learning path. +For Academy learning content on events, subscribers, and dependency injection, refer to this free course **[Events and DI](https://hub.shopware.com/learn/course/events-and-di)** from **Shopware Backend Development Intermediate** learning path. ::: ## Event interfaces and classes diff --git a/guides/plugins/plugins/framework/event/listening-to-events.md b/guides/plugins/plugins/framework/event/listening-to-events.md index 6ef685aa9f..68c6b199dc 100644 --- a/guides/plugins/plugins/framework/event/listening-to-events.md +++ b/guides/plugins/plugins/framework/event/listening-to-events.md @@ -25,8 +25,7 @@ In order to build your own subscriber for your plugin, of course, you first need To create your own plugin, you can refer to the [Plugin Base Guide](../../plugin-base-guide.md). ::: info -Refer to this video on **[Live coding example with product.loaded event](https://www.youtube.com/watch?v=cJDaiuyjKJk)**. -Also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). +For Academy learning content on Shopware events, subscribers, and dependency injection, refer to our free course **[Events and DI](https://hub.shopware.com/learn/course/events-and-di)** from **Shopware Backend Development Intermediate** learning path. ::: ## Creating your own subscriber diff --git a/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md b/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md index 7b84e51d9e..adcafebafb 100644 --- a/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md +++ b/guides/plugins/plugins/plugin-fundamentals/add-plugin-configuration.md @@ -20,7 +20,7 @@ A running plugin. Review the [Plugin Base Guide](../plugin-base-guide.md) for in ## Create your plugin configuration ::: info -For Academy learning content on defining plugin configuration with `config.xml`, see the **[Plugin Configuration](https://hub.shopware.com/learn/unit/plugin-configuration)** in the free **Shopware Backend Development Essentials** learning path. +For Academy learning content on defining plugin configuration with `config.xml`, refer to this free course **[Plugin Configuration](https://hub.shopware.com/learn/unit/plugin-configuration)** from **Shopware Backend Development Essentials** learning path. ::: Create `src/Resources/config/config.xml` inside your plugin. The content of the `config.xml` will be dynamically rendered in the Administration. Start with a simple text field first; the available field types and advanced options are listed below. diff --git a/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md b/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md index 0aceaed225..4e89310f93 100644 --- a/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md +++ b/guides/plugins/plugins/plugin-fundamentals/plugin-lifecycle.md @@ -180,7 +180,7 @@ public function uninstall(UninstallContext $context): void ``` ::: info -For Academy learning content on plugin lifecycle methods, updates, migrations, and uninstall cleanup, see the **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** in the free **Shopware Backend Development Intermediate** learning path. +For Academy learning content on plugin lifecycle methods, updates, migrations, and uninstall cleanup, refer to this free course **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** from **Shopware Backend Development Intermediate** learning path. ::: ## Next steps diff --git a/guides/plugins/plugins/services/adjusting-service.md b/guides/plugins/plugins/services/adjusting-service.md index 5c7b06c451..e5270f74d9 100644 --- a/guides/plugins/plugins/services/adjusting-service.md +++ b/guides/plugins/plugins/services/adjusting-service.md @@ -18,7 +18,7 @@ This guide explains how to adjust a service using decoration. For more details, This guide builds on the [Plugin Base Guide](../plugin-base-guide.md). ::: info -For Academy learning content on dependency injection, services, and service decoration, see **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** in the free **Shopware Backend Development Intermediate learning path. +For Academy learning content on dependency injection, services, and service decoration, refer to this free course **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** from **Shopware Backend Development Intermediate** learning path. ::: ## Decorating the service diff --git a/guides/plugins/plugins/services/dependency-injection.md b/guides/plugins/plugins/services/dependency-injection.md index 37d18bc252..cfd9889ad5 100644 --- a/guides/plugins/plugins/services/dependency-injection.md +++ b/guides/plugins/plugins/services/dependency-injection.md @@ -14,8 +14,7 @@ This guide explains how to inject services into other services. For more details This guide builds on the [Plugin Base Guide](../plugin-base-guide.md) and requires a working service — see [Add Custom Service](add-custom-service.md). ::: info -Refer to this video on **[Injecting services into a command](https://www.youtube.com/watch?v=Z4kyx9J1xaQ)** explaining DI based on the example of a custom CLI command. -It is also available on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/course/events-and-di). +For Academy learning content on dependency injection, service registration, constructor injection, and service decoration, refer to this free course **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** from **Shopware Backend Development Intermediate** learning path. ::: ## Injecting another service diff --git a/guides/plugins/plugins/storefront/controllers/add-custom-controller.md b/guides/plugins/plugins/storefront/controllers/add-custom-controller.md index ef09d57526..421d5d0b14 100644 --- a/guides/plugins/plugins/storefront/controllers/add-custom-controller.md +++ b/guides/plugins/plugins/storefront/controllers/add-custom-controller.md @@ -17,8 +17,7 @@ In order to add your own controller for your plugin, you first need a plugin as Therefore, you can refer to the [Plugin Base Guide](../../plugin-base-guide.md). ::: info -Refer to this video on **[Common Storefront controller tasks](https://www.youtube.com/watch?v=5eXXNh4cQG0)** explaining the basics about Storefront controllers. -Available also on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). +For current Academy learning content on connecting a Storefront controller with routes, service registration, and Twig template output, refer to this free course **[Storefront Controller: Routes, Services, and Template](https://hub.shopware.com/learn/unit/storefront-controller-routes-services-and-template)** from **Shopware Backend Development Essentials** learning path. ::: ## Adding custom Storefront controller diff --git a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md index fa10b11d21..392373681c 100644 --- a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md +++ b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md @@ -16,9 +16,12 @@ It combines and builds upon the guides about [adding custom JavaScript](../javas For this guide we will use a very simple controller that returns a timestamp wrapped in the JSON format. -::: info -Refer to this video on **[Creating a JSON controller](https://www.youtube.com/watch?v=VzREUDdpZ3E)** dealing with the creation of a controller that returns JSON data. -Available also on our free online training ["Shopware 6 Backend Development"](https://hub.shopware.com/learn/path/shopware-backend-development-intermediate). +::: info +For related free Academy courses, see: + +- **[Storefront Controller: Routes, Services, and Template](https://hub.shopware.com/learn/unit/storefront-controller-routes-services-and-template)** from the **Shopware Backend Development Essentials** learnign path. +- **[Custom JavaScript](https://hub.shopware.com/learn/unit/custom-js)** from the **Shopware Frontend Development Essentials** learning path. +- **[Storefront Core Features](https://hub.shopware.com/learn/unit/storefront-core-features)** from the **Shopware Frontend Development Intermediate** learning path. ::: As mentioned before this guide builds up upon the [adding a custom controller](../controllers/add-custom-controller.md) guide. From f50c8da655c1cccf8629ab26f7557fc071a3a41e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 18 Aug 2026 14:14:33 +0000 Subject: [PATCH 7/9] Fix typo: learnign -> learning in add-dynamic-content-via-ajax-calls.md Co-authored-by: sushmangupta <112690947+sushmangupta@users.noreply.github.com> --- .../controllers/add-dynamic-content-via-ajax-calls.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md index 392373681c..66d3f0ba9b 100644 --- a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md +++ b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md @@ -19,7 +19,7 @@ For this guide we will use a very simple controller that returns a timestamp wra ::: info For related free Academy courses, see: -- **[Storefront Controller: Routes, Services, and Template](https://hub.shopware.com/learn/unit/storefront-controller-routes-services-and-template)** from the **Shopware Backend Development Essentials** learnign path. +- **[Storefront Controller: Routes, Services, and Template](https://hub.shopware.com/learn/unit/storefront-controller-routes-services-and-template)** from the **Shopware Backend Development Essentials** learning path. - **[Custom JavaScript](https://hub.shopware.com/learn/unit/custom-js)** from the **Shopware Frontend Development Essentials** learning path. - **[Storefront Core Features](https://hub.shopware.com/learn/unit/storefront-core-features)** from the **Shopware Frontend Development Intermediate** learning path. ::: From a01c3d0ce673de51633470e9af7486b12c685c6f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 18 Aug 2026 14:15:26 +0000 Subject: [PATCH 8/9] Fix markdown lint errors: ul-style and trailing spaces Co-authored-by: sushmangupta <112690947+sushmangupta@users.noreply.github.com> --- guides/plugins/plugins/bundle.md | 4 ++-- guides/plugins/plugins/database/database-migrations.md | 4 ++-- .../controllers/add-dynamic-content-via-ajax-calls.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/guides/plugins/plugins/bundle.md b/guides/plugins/plugins/bundle.md index 0849b7f65e..68aac8558b 100644 --- a/guides/plugins/plugins/bundle.md +++ b/guides/plugins/plugins/bundle.md @@ -217,7 +217,7 @@ Also check out these useful videos: For related Academy learnings on plugin lifecycle and services, see -- **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** -- **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** +* **[Plugin Lifecycle Management](https://hub.shopware.com/learn/unit/plugin-lifecycle-management)** +* **[Dependency Injection and Services](https://hub.shopware.com/learn/unit/dependency-injection-and-services)** from the free **Shopware Backend Development Intermediate** learning path. diff --git a/guides/plugins/plugins/database/database-migrations.md b/guides/plugins/plugins/database/database-migrations.md index 560066a6ff..a69a720cbe 100644 --- a/guides/plugins/plugins/database/database-migrations.md +++ b/guides/plugins/plugins/database/database-migrations.md @@ -90,8 +90,8 @@ class Migration1611740369ExampleDescription extends MigrationStep As you can see, your migration contains two methods: -* `getCreationTimestamp()` -* `update()` +- `getCreationTimestamp()` +- `update()` There is no need to change `getCreationTimestamp()`, it returns the timestamp that's also part of the file name. Implement **all** schema and data changes for the plugin in `update()`. That method is what Shopware runs automatically when the plugin is installed or updated. diff --git a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md index 66d3f0ba9b..5c87609f20 100644 --- a/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md +++ b/guides/plugins/plugins/storefront/controllers/add-dynamic-content-via-ajax-calls.md @@ -16,7 +16,7 @@ It combines and builds upon the guides about [adding custom JavaScript](../javas For this guide we will use a very simple controller that returns a timestamp wrapped in the JSON format. -::: info +::: info For related free Academy courses, see: - **[Storefront Controller: Routes, Services, and Template](https://hub.shopware.com/learn/unit/storefront-controller-routes-services-and-template)** from the **Shopware Backend Development Essentials** learning path. From f209180a66271d4270a7aa7785524b92ec88fab4 Mon Sep 17 00:00:00 2001 From: sushmangupta Date: Tue, 18 Aug 2026 17:04:12 +0200 Subject: [PATCH 9/9] fix spell check --- .wordlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/.wordlist.txt b/.wordlist.txt index d2d38dc419..8c9066742f 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -1678,6 +1678,7 @@ landingpage lang lavinmq lazysizes +learnings libxml lifecycle lifecycles