composer require 3brs/sylius-payment-fee-plugin
Add plugin class to your config/bundles.php
return [
...
ThreeBRS\SyliusPaymentFeePlugin\ThreeBRSSyliusPaymentFeePlugin::class => ['all' => true],
];
Your Entity PaymentMethod
has to implement \ThreeBRS\SyliusPaymentFeePlugin\Model\PaymentMethodWithFeeInterface
. You can use Trait ThreeBRS\SyliusPaymentFeePlugin\Model\PaymentMethodWithFeeTrait
.
For guide how to use your own entity see Sylius docs - Customizing Models
@ThreeBRSSyliusPaymentFeePlugin/Admin/_form.html.twig
into @SyliusAdmin/PaymentMethod/_form.html.twig
.{# ... #}
{% include '@ThreeBRSSyliusPaymentFeePlugin/Admin/_form.html.twig' %}
@ThreeBRSSyliusPaymentFeePlugin/Admin/_order_show.html.twig
into @AdminBundle/Order/Show/Summary/_totals.html.twig
.{# ... #}
{% include '@ThreeBRSSyliusPaymentFeePlugin/Admin/_order_show.html.twig' %}
@ThreeBRSSyliusPaymentFeePlugin/Shop/Checkout/SelectPayment/_choice.html.twig
into @ShopBundle/Checkout/SelectPayment/_choice.html.twig
.{# ... #}
{% include '@ThreeBRSSyliusPaymentFeePlugin/Shop/Checkout/SelectPayment/_choice.html.twig' %}
{% set fee = form.method.vars.payment_costs[choice_form.vars.value] %}
into @ShopBundle/Checkout/SelectPayment/_payment.html.twig
into foreach
.{# ... #}
{% for key, choice_form in form.method %}
{% set fee = form.method.vars.payment_costs[choice_form.vars.value] %}
{% include '@SyliusShop/Checkout/SelectPayment/_choice.html.twig' with {'form': choice_form, 'method': form.method.vars.choices[key].data} %}
{% else %}
{% include '@SyliusShop/Checkout/SelectPayment/_unavailable.html.twig' %}
{% endfor %}
@ThreeBRSSyliusPaymentFeePlugin/Shop/Common/Order/Table/_payment.html.twig
into @ShopBundle/Common/Order/Table/_totals.html.twig
.{# ... #}
<tr>
{% include '@SyliusShop/Common/Order/Table/_shipping.html.twig' with {'order': order} %}
</tr>
{% include '@ThreeBRSSyliusPaymentFeePlugin/Shop/Common/Order/Table/_payment.html.twig' with {'order': order} %}
bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate
/src
bin/
dir for useful commandsAfter your changes you must ensure that the tests are still passing.
composer install
bin/console doctrine:database:create --if-not-exists --env=test
bin/console doctrine:schema:update --complete --force --env=test
yarn --cwd tests/Application install
yarn --cwd tests/Application build
bin/behat
bin/phpstan.sh
bin/ecs.sh
vendor/bin/phpspec run
root
user and without sudo
command
curl
first apt-get update && apt-get install curl --yes
(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load)
(cd tests/Application && APP_ENV=test symfony server:start --dir=public --port=8080)
APP_ENV
to dev
if you need itThis library is under the MIT license.