Product labels + Promotions and Discounts feature integration
Edit on GitHubInstall feature core
Follow the steps below to install the feature core.
Prerequisites
To start feature integration, overview, and install the necessary features:
NAME | VERSION |
---|---|
Promotions & Discounts | 202108.0 |
Product Labels | 202108.0 |
Spryker Core | 202108.0 |
1) Set up behavior
Set up the following behavirors:
PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
---|---|---|---|
ProductLabelCollectorPlugin | Collects the cart items with product labels to which a discount should be applied. | None | Spryker\Zed\ProductLabelDiscountConnector\Communication\Plugin\Collector |
ProductLabelDecisionRulePlugin | Defines if a discount can be applied to a cart item with a product label. | None | Spryker\Zed\ProductLabelDiscountConnector\Communication\Plugin\DecisionRule |
src/Pyz/Zed/Discount/DiscountDependencyProvider.php
<?php
namespace Pyz\Zed\Discount;
use Spryker\Zed\Discount\DiscountDependencyProvider as SprykerDiscountDependencyProvider;
use Spryker\Zed\ProductLabelDiscountConnector\Communication\Plugin\DecisionRule\ProductLabelDecisionRulePlugin;
use Spryker\Zed\ProductLabelDiscountConnector\Communication\Plugin\Collector\ProductLabelCollectorPlugin;
class DiscountDependencyProvider extends SprykerDiscountDependencyProvider
{
/**
* @return \Spryker\Zed\Discount\Dependency\Plugin\DecisionRulePluginInterface[]
*/
protected function getDecisionRulePlugins()
{
return array_merge(parent::getDecisionRulePlugins(), [
new ProductLabelDecisionRulePlugin(),
]);
}
/**
* @return \Spryker\Zed\Discount\Dependency\Plugin\CollectorPluginInterface[]
*/
protected function getCollectorPlugins()
{
return array_merge(parent::getCollectorPlugins(), [
new ProductLabelCollectorPlugin(),
]);
}
}
Verification
Ensure that the plugins work correctly:
- Create a discount and define its condition as a query string with a product-label field.
- Add a product with the defined product label to cart.
- The discount should be applied to the cart.
Thank you!
For submitting the form