Install the Marketplace Merchant Portal Product Offer Shipment feature
Edit on GitHubThis document describes how to install the Marketplace Merchant Portal Product Offer Shipment feature.
Prerequisites
Install the required features:
NAME | VERSION | INTEGRATION GUIDE |
---|---|---|
Marketplace Merchant Portal Core | 202404.0 | Install the Merchant Portal Core feature |
Marketplace Merchant Portal Product Offer Management | 202404.0 | Install the Marketplace Product Offer feature |
Product Offer Shipment | 202404.0 | Install the Product Offer Shipment feature |
1) Install the required modules
Install the required modules using Composer:
composer require spryker/product-offer-shipment-type-merchant-portal-gui:"202404.0" --update-with-dependencies
Verification
Make sure the following modules have been installed:
MODULE | EXPECTED DIRECTORY |
---|---|
ProductOfferShipmentTypeMerchantPortalGui | spryker/product-offer-shipment-type-merchant-portal-gui |
2) Set up behavior
Enable the following behaviors by registering the plugins:
PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
---|---|---|---|
ShipmentTypeProductOfferFormExpanderPlugin | Expands ProductOfferForm with a shipment-type form field. |
Spryker\Zed\ProductOfferServicePointMerchantPortalGui\Communication\Plugin\ProductOfferMerchantPortalGui | |
ShipmentTypeProductOfferFormViewExpanderPlugin | Expands the ProductOfferForm Twig template with a shipment-type form section. |
Spryker\Zed\ProductOfferServicePointMerchantPortalGui\Communication\Plugin\ProductOfferMerchantPortalGui | |
ShipmentTypeAclEntityConfigurationExpanderPlugin | Expands a provided AclEntityMetadataConfig transfer object with shipment type composite data. |
Spryker\Zed\ShipmentType\Communication\Plugin\AclMerchantPortal | |
ProductOfferShipmentTypeAclEntityConfigurationExpanderPlugin | Expands a provided AclEntityMetadataConfig transfer object with product offer shipment type composite data. |
Spryker\Zed\ProductOfferShipmentType\Communication\Plugin\AclMerchantPortal |
src/Pyz/Zed/ProductOfferMerchantPortalGui/ProductOfferMerchantPortalGuiDependencyProvider.php
<?php
namespace Pyz\Zed\ProductOfferMerchantPortalGui;
use Spryker\Zed\ProductOfferMerchantPortalGui\ProductOfferMerchantPortalGuiDependencyProvider as SprykerProductOfferMerchantPortalGuiDependencyProvider;
use Spryker\Zed\ProductOfferShipmentTypeMerchantPortalGui\Communication\Plugin\ProductOfferMerchantPortalGui\ShipmentTypeProductOfferFormExpanderPlugin;
use Spryker\Zed\ProductOfferShipmentTypeMerchantPortalGui\Communication\Plugin\ProductOfferMerchantPortalGui\ShipmentTypeProductOfferFormViewExpanderPlugin;
class ProductOfferMerchantPortalGuiDependencyProvider extends SprykerProductOfferMerchantPortalGuiDependencyProvider
{
/**
* @return list<\Spryker\Zed\ProductOfferMerchantPortalGuiExtension\Dependency\Plugin\ProductOfferFormExpanderPluginInterface>
*/
protected function getProductOfferFormExpanderPlugins(): array
{
return [
new ShipmentTypeProductOfferFormExpanderPlugin(),
];
}
/**
* @return list<\Spryker\Zed\ProductOfferMerchantPortalGuiExtension\Dependency\Plugin\ProductOfferFormViewExpanderPluginInterface>
*/
protected function getProductOfferFormViewExpanderPlugins(): array
{
return [
new ShipmentTypeProductOfferFormViewExpanderPlugin(),
];
}
}
src/Pyz/Zed/AclMerchantPortal/AclMerchantPortalDependencyProvider.php
<?php
namespace Pyz\Zed\AclMerchantPortal;
use Spryker\Zed\AclMerchantPortal\AclMerchantPortalDependencyProvider as SprykerAclMerchantPortalDependencyProvider;
use Spryker\Zed\ProductOfferShipmentType\Communication\Plugin\AclMerchantPortal\ProductOfferShipmentTypeAclEntityConfigurationExpanderPlugin;
use Spryker\Zed\ShipmentType\Communication\Plugin\AclMerchantPortal\ShipmentTypeAclEntityConfigurationExpanderPlugin;
class AclMerchantPortalDependencyProvider extends SprykerAclMerchantPortalDependencyProvider
{
/**
* @return list<\Spryker\Zed\AclMerchantPortalExtension\Dependency\Plugin\AclEntityConfigurationExpanderPluginInterface>
*/
protected function getAclEntityConfigurationExpanderPlugins(): array
{
return [
new ShipmentTypeAclEntityConfigurationExpanderPlugin(),
new ProductOfferShipmentTypeAclEntityConfigurationExpanderPlugin(),
];
}
}
Verification
When creating and editing product offers in the Merchant Portal, make sure the following applies:
- The Shipment Types pane is displayed.
- All the shipment types in the system are available in the drop-down menu.
- You can save the product offer after selecting shipment types.
Thank you!
For submitting the form