PHPackages                             sebastienchampion/customer-reorder-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sebastienchampion/customer-reorder-plugin

ActiveSylius-plugin

sebastienchampion/customer-reorder-plugin
=========================================

Sylius plugin that enables order reordering for a customer

v1.0.0(4y ago)0354↓100%MITPHPPHP ^7.2 || ^8.0

Since Apr 26Pushed 4y agoCompare

[ Source](https://github.com/SebastienChampion/CustomerReorderPlugin)[ Packagist](https://packagist.org/packages/sebastienchampion/customer-reorder-plugin)[ RSS](/packages/sebastienchampion-customer-reorder-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (20)Versions (2)Used By (0)

> ⚠️ **BEWARE!**This repository has been deprecated and will not be maintained or evolved by the Sylius Team. You can still use it with compatible Sylius versions, but at your own risk, as no bugs will be fixed on it.

 [ ![](https://camo.githubusercontent.com/1567208cc7c8ec53cf6e2af4f54449a9bb3ab0dee7916998de4e3ce9b7f79015/68747470733a2f2f64656d6f2e73796c6975732e636f6d2f6173736574732f73686f702f696d672f6c6f676f2e706e67) ](https://sylius.com)

Customer Reorder Plugin
=======================

[](#customer-reorder-plugin)

[![](https://camo.githubusercontent.com/9b437c7f32af7f569d4c0d8e750fd3e94c19a1a7ad491228a34cf567b0ea8af4/68747470733a2f2f73796c6975732e636f6d2f6173736574732f62616467652d6f6666696369616c2d73796c6975732d706c7567696e2e706e67)](https://sylius.com/plugins/)

This plugin allows customers to reorder a previously placed order.

[![Screenshot showing the customer's orders page with reorder buttons](docs/screenshot.png)](docs/screenshot.png)

Business value
--------------

[](#business-value)

The plugin allows Customer to reorder any Order that has already been placed. Once a Reorder button is clicked, a new cart filled with items taken from a previously placed order is created. If for some reason Reorder can't be fulfilled completely, the Customer is informed about every circumstance that have affected the Order (i. e. promotion being no longer available or differences in item's prices).

Once the Reorder process is completed, the newly created Order is listed in the history just like any other Orders.

Installation
------------

[](#installation)

#### Beware!

[](#beware)

> This installation instruction assumes that you're using Symfony Flex. If you don't, take a look at the [legacy installation instruction](docs/legacy_installation.md). However, we strongly encourage you to use Symfony Flex, it's much quicker! :)

To install plugin, just require it with composer:

```
composer require sylius/customer-reorder-plugin
```

> Remember to allow community recipes with `composer config extra.symfony.allow-contrib true` or during plugin installation process

Extension points
----------------

[](#extension-points)

Customer Reorder plugin is based on two processes:

- reorder processing
- reorder eligibility checking

They are both based on Symfony's compiler passes and configured in `services.xml` file.

ReorderProcessing and EligibilityChecking are independent processes - once a Reorder is created using Processors (services tagged as `sylius_customer_reorder_plugin.reorder_processor`), the created entity is passed to Eligibility Checkers (services tagged as `sylius_customer_reorder_plugin.eligibility_checker`).

Hence, both processes can be extended separately by adding services that implement `ReorderEligibilityChecker`and are tagged as `sylius_customer_reorder_plugin.eligibility_checker` or implement `ReorderProcessor` and are tagged as `sylius_customer_reorder_plugin.reorder_processor`.

Both `Reorder` button layout and action performed on clicking it are defined in `reorder.html.twig` template which is declared in `config.yml` file.

What's more, since Order is a Resource, major part of its configuration is placed in `*.yml` files. Without using the plugin, Order had `Show` and `Pay` actions. Adding `Reorder` action required extending order-related behaviours in `config.yml` file.

You can read much more about Resources here: [http://docs.sylius.com/en/1.2/components\_and\_bundles/bundles/SyliusResourceBundle/index.html](http://docs.sylius.com/en/1.2/components_and_bundles/bundles/SyliusResourceBundle/index.html)

Security issues
---------------

[](#security-issues)

If you think that you have found a security issue, please do not use the issue tracker and do not post it publicly. Instead, all security issues must be sent to `security@sylius.com`.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1477d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d34ffc8b8df3796e21a3fb98634b44fe84d52aaf44c25a5baa18bf32be55a408?d=identicon)[SebastienChampion](/maintainers/SebastienChampion)

---

Top Contributors

[![bartoszpietrzak1994](https://avatars.githubusercontent.com/u/22262296?v=4)](https://github.com/bartoszpietrzak1994 "bartoszpietrzak1994 (108 commits)")[![Zales0123](https://avatars.githubusercontent.com/u/6212718?v=4)](https://github.com/Zales0123 "Zales0123 (32 commits)")[![pamil](https://avatars.githubusercontent.com/u/1897953?v=4)](https://github.com/pamil "pamil (15 commits)")[![GSadee](https://avatars.githubusercontent.com/u/6140884?v=4)](https://github.com/GSadee "GSadee (7 commits)")[![lchrusciel](https://avatars.githubusercontent.com/u/6213903?v=4)](https://github.com/lchrusciel "lchrusciel (1 commits)")[![acornforth](https://avatars.githubusercontent.com/u/4586381?v=4)](https://github.com/acornforth "acornforth (1 commits)")[![SebastienChampion](https://avatars.githubusercontent.com/u/63843410?v=4)](https://github.com/SebastienChampion "SebastienChampion (1 commits)")

---

Tags

symfonysyliuse-commercesylius-plugincustomer reorder

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sebastienchampion-customer-reorder-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/sebastienchampion-customer-reorder-plugin/health.svg)](https://phpackages.com/packages/sebastienchampion-customer-reorder-plugin)
```

###  Alternatives

[sylius/invoicing-plugin

Invoicing plugin for Sylius.

901.0M2](/packages/sylius-invoicing-plugin)[sylius/refund-plugin

Plugin provides basic refunds functionality for Sylius application.

691.7M14](/packages/sylius-refund-plugin)[sylius/price-history-plugin

Implementation of the Omnibus Directive for Sylius application.

1140.5k](/packages/sylius-price-history-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
