workouse / sylius-referral-marketing-plugin
Referral Marketing Bundle for Sylius E-Commerce
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 5
Forks: 4
Open Issues: 1
Type:sylius-plugin
Requires
- php: ^7.2
- sylius/sylius: ^1.4
Requires (Dev)
- behat/behat: ^3.4
- behat/mink: ^1.7@dev
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.0
- friends-of-behat/variadic-extension: ^1.1
- lakion/mink-debug-extension: ^1.2.3
- phpspec/phpspec: ^5.0
- phpstan/phpstan-doctrine: ^0.10
- phpstan/phpstan-shim: ^0.10
- phpstan/phpstan-webmozart-assert: ^0.10
- phpunit/phpunit: ^6.5
- sensiolabs/security-checker: ^5.0
- sylius-labs/coding-standard: ^2.0
- symfony/browser-kit: ^3.4|^4.1
- symfony/debug-bundle: ^3.4|^4.1
- symfony/dotenv: ^4.2
- symfony/intl: ^3.4|^4.1
- symfony/web-profiler-bundle: ^3.4|^4.1
- symfony/web-server-bundle: ^3.4|^4.1
Conflicts
- symfony/browser-kit: 4.1.8
- symfony/dependency-injection: 4.1.8
- symfony/dom-crawler: 4.1.8
- symfony/routing: 4.1.8
- symfony/symfony: 4.1.8
This package is auto-updated.
Last update: 2024-07-06 11:48:36 UTC
README
Workouse Referral Marketing Plugin
Referral Marketing Bundle for Sylius E-Commerce. Provides customers to send invitations to each other by e-mail and win coupons
Installation
$ composer require workouse/sylius-referral-marketing-plugin
Add plugin dependencies to your config/bundles.php
file:
return [ ... Workouse\SyliusReferralMarketingPlugin\WorkouseReferralMarketingPlugin::class => ['all' => true], ];
Import required config in your config/packages/_sylius.yaml
file:
# config/packages/_sylius.yaml imports: ... - { resource: "@WorkouseSyliusReferralMarketingPlugin/Resources/config/config.yml" }
Import routing in your config/routes.yaml
file:
# config/routes.yaml ... workouse_referral_marketing_plugin: resource: "@WorkouseSyliusReferralMarketingPlugin/Resources/config/routing.yml"
Extend entity
<?php declare(strict_types=1); namespace App\Entity\Promotion; use Doctrine\ORM\Mapping as ORM; use Workouse\SyliusReferralMarketingPlugin\Entity\PromotionCouponTrait; use Sylius\Component\Core\Model\PromotionCoupon as BasePromotionCoupon; /** * @ORM\Entity * @ORM\Table(name="sylius_promotion_coupon") */ class PromotionCoupon extends BasePromotionCoupon { use PromotionCouponTrait; // ... }
Configuration in your config/routes.yaml
file:
#config/packages/workouse_referral_marketing.yml workouse_referral_marketing: service: 'workouse_referral_marketing_plugin.promotion' referrer_promotion_code: 'referrer_promotion' invitee_promotion_code: 'invitee_promotion'
Finish the installation by updating the database schema and installing assets:
$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate
$ bin/console cache:clear
Testing & running the plugin
$ composer install $ cd tests/Application $ yarn $ yarn build $ bin/console assets:install public -e test $ bin/console doctrine:database:create -e test $ bin/console doctrine:schema:create -e test $ bin/console server:run 127.0.0.1:8080 -d public -e test $ open http://localhost:8080 $ vendor/bin/behat