Install the Marketplace MerchantPortal Core + Dynamic Multistore

Edit on GitHub

Dynamic Multistore is currently running under an Early Access Release. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.

This document describes how to install the Marketplace MerchantPortal Core + Dynamic Store feature.

Install feature core

Follow the steps below to install the Marketplace MerchantPortal Core + Dynamic Store feature core.

Prerequisites

Install the required features:

NAME VERSION
Spryker Core 202311.0
Marketplace Merchant Portal Core 202311.0

1) Set up behavior

Enable the following behaviors by registering the plugins:

PLUGIN SPECIFICATION PREREQUISITES NAMESPACE
CountryStoreAclEntityConfigurationExpanderPlugin Expands provided AclEntityMetadataConfig transfer object with country store composite data. None Spryker\Zed\Country\Communication\Plugin\AclMerchantPortal
CurrencyStoreAclEntityConfigurationExpanderPlugin Expands provided AclEntityMetadataConfig transfer object with country store composite data. None Spryker\Zed\Country\Communication\Plugin\AclMerchantPortal
LocaleStoreAclEntityConfigurationExpanderPlugin Expands provided AclEntityMetadataConfig transfer object with country store composite data. None Spryker\Zed\Country\Communication\Plugin\AclMerchantPortal

src/Pyz/Zed/AclMerchantPortal/AclMerchantPortalDependencyProvider.php

<?php

namespace Pyz\Zed\AclMerchantPortal;

use Spryker\Zed\AclMerchantPortal\AclMerchantPortalDependencyProvider as SprykerAclMerchantPortalDependencyProvider;
use Spryker\Zed\Country\Communication\Plugin\AclMerchantPortal\CountryStoreAclEntityConfigurationExpanderPlugin;
use Spryker\Zed\Currency\Communication\Plugin\AclMerchantPortal\CurrencyStoreAclEntityConfigurationExpanderPlugin;
use Spryker\Zed\Locale\Communication\Plugin\AclMerchantPortal\LocaleStoreAclEntityConfigurationExpanderPlugin;

class AclMerchantPortalDependencyProvider extends SprykerAclMerchantPortalDependencyProvider
{
    /**
     * @return list<\Spryker\Zed\AclMerchantPortalExtension\Dependency\Plugin\AclEntityConfigurationExpanderPluginInterface>
     */
    protected function getAclEntityConfigurationExpanderPlugins(): array
    {
        return [
            new CountryStoreAclEntityConfigurationExpanderPlugin(),
            new CurrencyStoreAclEntityConfigurationExpanderPlugin(),
            new LocaleStoreAclEntityConfigurationExpanderPlugin(),
        ];
    }
}

Verification

Make sure that access to tables SpyCurrencyStore, SpyCountryStore, SpyLocaleStore is allowed.