PHPackages                             bestit/commercetools-listing-slug-router-bundle - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. bestit/commercetools-listing-slug-router-bundle

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bestit/commercetools-listing-slug-router-bundle
===============================================

A cmf router matching the slug to a found commercetools slug.

0.6.0(6y ago)09.0k1[5 PRs](https://github.com/bestit/commercetools-listing-slug-router-bundle/pulls)proprietaryPHPPHP ^7.0

Since Jan 10Pushed 4y ago1 watchersCompare

[ Source](https://github.com/bestit/commercetools-listing-slug-router-bundle)[ Packagist](https://packagist.org/packages/bestit/commercetools-listing-slug-router-bundle)[ RSS](/packages/bestit-commercetools-listing-slug-router-bundle/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (3)Dependencies (10)Versions (17)Used By (0)

Router for listing slugs in a commercetools project
===================================================

[](#router-for-listing-slugs-in-a-commercetools-project)

This router loads a category matching the given request uri to categories slugs. It utilizes the cmf routing package heavily and registers the provided listing router as a chained cmf router through the service tag "*router*".

Install it
----------

[](#install-it)

```
$ composer require bestit/commercetools-listing-slug-router-bundle
```

Configuration
-------------

[](#configuration)

```
#!yaml
best_it_ct_listing_slug_router:

    # Which controller-method should be used on a positive match?
    controller:           'BestIt\Frontend\ListingBundle\Controller\ListingController::indexAction'

    # Which priority has this router in the cmf chaining?
    priority:             0

    # Service id for the repositry loading categories with their slug. You should fulfill the provided interface.
    repository:           ~

    # Which route name is used for a positive match?
    route:                best_it_frontend_listing_listing_index

```

Generate route
--------------

[](#generate-route)

Just use the standard symfony `path` function in twig for generating routes. It requires the route name as name and the param `slug` with the seo url. Additional arguments will be passed as query.

Example:

```
{# /apple #}
{{ path('best_it_frontend_listing_listing_index', {'slug' => 'apple') }}

{# /apple?page=1&view=list #}
{{ path('best_it_frontend_listing_listing_index', {'page' => 1, slug' => 'apple', 'view' => 'list') }}

```

Further ToDos
-------------

[](#further-todos)

- The lib folder could be moved to a separate repo.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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

Every ~157 days

Recently: every ~253 days

Total

9

Last Release

2199d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5934068?v=4)[WBL Konzept](/maintainers/WBLKonzept)[@WBLKonzept](https://github.com/WBLKonzept)

![](https://www.gravatar.com/avatar/acc5af332f2a79dedb5aea83c3b4c2665d99fd2c14743fd0c2a3d70ecf0b7859?d=identicon)[best-it](/maintainers/best-it)

---

Top Contributors

[![b3nl](https://avatars.githubusercontent.com/u/1861864?v=4)](https://github.com/b3nl "b3nl (3 commits)")[![damyanovg](https://avatars.githubusercontent.com/u/32706870?v=4)](https://github.com/damyanovg "damyanovg (1 commits)")[![migo315](https://avatars.githubusercontent.com/u/13180135?v=4)](https://github.com/migo315 "migo315 (1 commits)")[![mKnoop](https://avatars.githubusercontent.com/u/6775586?v=4)](https://github.com/mKnoop "mKnoop (1 commits)")[![tim-kellner](https://avatars.githubusercontent.com/u/15520044?v=4)](https://github.com/tim-kellner "tim-kellner (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bestit-commercetools-listing-slug-router-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/bestit-commercetools-listing-slug-router-bundle/health.svg)](https://phpackages.com/packages/bestit-commercetools-listing-slug-router-bundle)
```

PHPackages © 2026

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