flagbit/shopware-maintenance

A Shopware extension for easy maintenance.

Installs: 27 119

Dependents: 0

Suggesters: 0

Security: 0

Stars: 20

Watchers: 14

Forks: 1

Open Issues: 3

Type:symfony-bundle

v3.0.0 2025-05-12 15:02 UTC

README

Flagbit Shopware Maintenance

A Shopware extension for easy maintenance

InstallationDevelopmentTroubleshooting

Installation

Step 1: Download the bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

$ composer require flagbit/shopware-maintenance

Step 2: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in the config/bundles.php file of your project:

// config/bundles.php

return [
    // ...
    Flagbit\Shopware\ShopwareMaintenance\ShopwareMaintenance::class => ['all' => true],
];

Usage

Install/Uninstall plugins

The file config/plugins.php defines which Shopware plugins should be enabled or disabled. It is divided in different groups core, third_party, agency and project, which are installed in exactly this order.

Example

# config/plugins.php

<?php declare(strict_types=1);

# be awere those are sorted lists because of plugin dependencies may occur
return [
    'core' => [                                     # original plugins from shopware
        'SwagMarkets' => false,                     # disabled
        'SwagPayPal' => true,                       # enabled
        'SwagPlatformDemoData' => false,            # disabled
    ],
    'third_party' => [                              # plugins from other vendors
        'CoeWishlistSw6' => ture,                   # enabled
        'DreiscSeoPro' => false,                    # disabled
        'GoogleConsentV2' => true,                  # enabled
        'IesCommissionField6' => true,              # enabled
    ],
    'agency' => [                                   # plugins from flagbit for company-wide usage
        'FlagbitGoogleConsentMode' => true,         # enabled
    ],
    'project' => [                                  # plugins for this project
        'CustomerStoreApi' => false,                # disabled
        'CustomerWishlistCommissionField' => true,  # enabled
    ],
];

Groups

Core

In the group core should be the plugins from shopware itself. Those mostly start with Swag.

Third-Party

The group third_party is for plugin of other agencies which we get from the store.

Agency

Plugins which are from flagbit but aren't for specific for this project and can be used in other projects as well, it should be in agency.

Project

The group project is for plugins which are specifically developed for this project.

Define Config

The file config/config.yaml defines Shopware plugin configuration values to be set.

Example
Use global for all SalesChannels. Or use the name from one SalesChannel translation to update the config.
We do not use the uuid from the SalesChannel because this can be different from envoirment to envoirment.

# config/config.yaml

"global":
    "core.listing.productsPerPage": 48
"Store Name":
    "core.listing.productsPerPage": 48
    "core.listing.allowBuyInListing": false
    "core.listing.showReview": false
"Headless":
    "core.listing.productsPerPage": 48

Commands

bin/console config:sync # synchronizes configuration values as defined in config/config.yaml
bin/console plugin:refresh # ensure plugins classes are loaded before plugin:sync execution
bin/console plugin:sync # synchronizes plugin enable/disable status as defined in config/plugins.php  

Troubleshooting


Supported with ❤️ by Flagbit GmbH & Co. KG