Splittable Order Items feature integration
Edit on GitHubThe Splittable Order Items feature is shipped with following modules:
Module | Description |
---|---|
DiscountExtension | Provides extension plugins for the Discount module. |
SalesQuantity | Provides support in handling and configuring quantity for sales orders and items. |
To install the Merchants and Merchant relations feature, follows the steps below:
- Install necessary modules using composer Update existing and install the required modules:
composer update "spryker/*" "spryker-shop/*"
composer require spryker/discount-extension:"^1.0.0" spryker/sales-quantity:"^1.0.0" --update-with-dependencies
- Run the commands:
console transfer:generate
console propel:install
- Add a plugin to Zed
CartDependencyProvider
:
Module | Plugin | Description | Method in Dependency Provider |
---|---|---|---|
Cart |
IsQuantitySplittableItemExpanderPlugin |
Adds a new isQuantitySplittable attribute for products |
getExpanderPlugins |
src/Pyz/Zed/Cart/CartDependencyProvider.php
...
use Spryker\Zed\SalesQuantity\Communication\Plugin\Cart\IsQuantitySplittableItemExpanderPlugin;
...
protected function getExpanderPlugins(Container $container)
{
return [
...
new IsQuantitySplittableItemExpanderPlugin(),
...
];
}
- Add a plugin to Zed
SalesDependencyProvider
:
Module | Plugin | Description | Method in Dependency Provider |
---|---|---|---|
Sales |
NonSplittableItemTransformerStrategyPlugin |
Defines order item breakdown strategy for cart items depending on if the product is splittable or non-splittable. | getItemTransformerStrategyPlugins |
src/Pyz/Zed/Sales/SalesDependencyProvider.php
...
use Spryker\Zed\Sales\Communication\Plugin\SalesExtension\SingleQuantityBasedItemTransformerStrategyPlugin;
...
use Spryker\Zed\SalesQuantity\Communication\Plugin\SalesExtension\NonSplittableItemTransformerStrategyPlugin;
...
/**
* @return \Spryker\Zed\SalesExtension\Dependency\Plugin\ItemTransformerStrategyPluginInterface[]
*/
public function getItemTransformerStrategyPlugins(): array
{
return [
...
new NonSplittableItemTransformerStrategyPlugin(),
...
];
}
- Add plugins to Zed
DiscountDependencyProvider
:
Module | Plugin | Description | Method in Dependency Provider |
---|---|---|---|
Discount |
NonSplittableDiscountableItemTransformerStrategyPlugin and |
Defines discountable item transformation strategy for splittable and non-splittable items to adjust the discount calculation item breakdown according to the corresponding order item breakdown. | getDiscountableItemTransformerStrategyPlugins |
src/Pyz/Zed/Discount/DiscountDependencyProvider.php
...
use Spryker\Zed\Discount\Communication\Plugin\DiscountExtension\SingleQuantityBasedDiscountableItemTransformerStrategyPlugin;
...
use Spryker\Zed\SalesQuantity\Communication\Plugin\DiscountExtension\NonSplittableDiscountableItemTransformerStrategyPlugin;
...
/**
* @return \Spryker\Zed\DiscountExtension\Dependency\Plugin\DiscountableItemTransformerStrategyPluginInterface[]
*/
protected function getDiscountableItemTransformerStrategyPlugins(): array
{
return [
new NonSplittableDiscountableItemTransformerStrategyPlugin(),
...
];
}
Thank you!
For submitting the form