de-swebhosting-shopware-plugin/smart-relation-sync

Smart relation handling for the Sync-API

Installs: 785

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

Type:shopware-platform-plugin

v1.0.0 2025-04-16 22:45 UTC

This package is auto-updated.

Last update: 2025-04-16 22:49:02 UTC


README

The goal of this Plugin is to ease the pain of dealing with relations in Shopware.

Quick start

After installing the Plugin, you can enable automatic relation cleanup in the DAL or in the Sync-API, for example:

$productData = [
    'id' => '...',
    'categories' => [['id' => '...']],
    'categoriesCleanupRelations' => true,
];
$this->productRepository->upsert([$productData], $context);
POST /api/_action/sync
Content-Type: application/json

{
    "write-product": {
        "entity": "product",
        "action": "upsert",
        "payload": [
            {
                "id": "...",
                "categories": [{ "id": "..." }],
                "categoriesCleanupRelations": true
            }
        ]
    }
}

By setting categoriesCleanupRelations to true, the plugin will automatically remove all category relations that are not in the given array.

You can do this for any many-to-many or one-to-many relation with the CleanupRelation suffix.