bitbag / bonus-points-plugin
Bonus points plugin for Sylius.
Installs: 499
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 6
Open Issues: 4
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
- dev-master
- v1.0.0-beta.1
- dev-bugfix/fix-bonus-points-apply-validator
- dev-bugfix/improve-bonus-points-apply-validator
- dev-feature/add-resetting-bonus-points
- dev-bugfix/fix-bonus-points-calculation
- dev-bugfix/improve-validation
- dev-bugfix/fix-overwriting-form-errors
- dev-bugfix/improve-cart-form-validation
- dev-feature/improve-bonus-points-apply-validation
- dev-feature/add-phpspec-tests
- dev-feature/add-behat-tests
- dev-feature/add-github-actions
- dev-feature/add-new-calculation-method
- dev-feature/update-sylius
This package is auto-updated.
Last update: 2021-02-17 12:15:20 UTC
README
About us
At BitBag we do believe in open source. However, we are able to do it just because of our awesome clients, who are kind enough to share some parts of our work with the community. Therefore, if you feel like there is a possibility for us working together, feel free to reach us out. You will find out more about our professional services, technologies and contact details at https://bitbag.io/.
Screenshots
Overview
This plugin allows you to create rules for assigning bonus points to users.
Users can exchange them for discounts(1 bonus point = 1 currency discount) when creating an order.
Installation
-
Require plugin with composer:
composer require bitbag/bonus-points-plugin
-
Add plugin dependencies to your
config/bundles.php
file:return [ ... BitBag\SyliusBonusPointsPlugin\BitBagSyliusBonusPointsPlugin::class => ['all' => true], ];
-
Import required config by adding
config/packages/bitbag_sylius_bonus_points_plugin.yaml
file:# config/packages/bitbag_sylius_bonus_points_plugin.yaml imports: - { resource: "@BitBagSyliusBonusPointsPlugin/Resources/config/config.yml" }
-
Import routing in your
config/routes.yaml
file:# config/routes.yaml ... bitbag_sylius_bonus_points_plugin: resource: "@BitBagSyliusBonusPointsPlugin/Resources/config/routing.yml"
-
Extend
Order
(including Doctrine mapping):<?php declare(strict_types=1); namespace App\Entity\Order; use BitBag\SyliusBonusPointsPlugin\Entity\BonusPointsAwareInterface; use BitBag\SyliusBonusPointsPlugin\Entity\BonusPointsAwareTrait; use Sylius\Component\Core\Model\Order as BaseOrder; class Order extends BaseOrder implements BonusPointsAwareInterface { use BonusPointsAwareTrait; }
Mapping (XML):
<?xml version="1.0" encoding="UTF-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd" > <entity repository-class="App\Doctrine\ORM\OrderRepository" name="App\Entity\Order\Order" table="sylius_order"> <field name="bonusPoints" type="integer" nullable="true" /> </entity> </doctrine-mapping>
-
Customize shop templates to include bonus points. For starter You may want copy to templates directory everything from plugin's tests/Application/templates
-
Finish the installation by updating the database schema and installing assets:
$ bin/console doctrine:migrations:diff $ bin/console doctrine:migrations:migrate
Testing
$ composer install $ cd tests/Application $ yarn install $ yarn build $ bin/console assets:install public -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
Contribution
Learn more about our contribution workflow on http://docs.sylius.org/en/latest/contributing/.