PHPackages                             pixelmairie/sulu-townhallpublicmarketbundle - 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. [Admin Panels](/categories/admin)
4. /
5. pixelmairie/sulu-townhallpublicmarketbundle

ActiveSulu-bundle[Admin Panels](/categories/admin)

pixelmairie/sulu-townhallpublicmarketbundle
===========================================

Manage public market for town hall on Sulu

1.0.1(1y ago)021MITPHPPHP ^8.2

Since Dec 7Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Pixel-Mairie/sulu-townhallpublicmarketbundle)[ Packagist](https://packagist.org/packages/pixelmairie/sulu-townhallpublicmarketbundle)[ Docs](https://github.com/Pixel-Mairie/sulu-townhallpublicmarketbundle)[ RSS](/packages/pixelmairie-sulu-townhallpublicmarketbundle/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (2)Dependencies (10)Versions (4)Used By (0)

[![](src/Resources/documentation/logo.svg)](src/Resources/documentation/logo.svg)

Public market for Town Hall Bundle
===================================

[](#public-market-for-town-hall-bundle)

[![GitHub release (with filter)](https://camo.githubusercontent.com/647926eb6e9330331bde547a3799dc6c1fd9452d360c9fbcec7613bf82a7b134/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f506978656c2d4d61697269652f73756c752d746f776e68616c6c7075626c69636d61726b657462756e646c65)](https://camo.githubusercontent.com/647926eb6e9330331bde547a3799dc6c1fd9452d360c9fbcec7613bf82a7b134/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f506978656c2d4d61697269652f73756c752d746f776e68616c6c7075626c69636d61726b657462756e646c65)[![Minimum PHP Version](https://camo.githubusercontent.com/e013d25225712daef79077a26c4a666153efa97434544fe6ad4641b529dd549e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e322d677265656e)](https://php.net/)[![Dependency](https://camo.githubusercontent.com/acc3cd2a7a92b3d81b4d4eb223a48d185970d1bde609b39dde8f5197b404e7cb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73756c752d253345253344253230322e362d677265656e2e737667)](https://sulu.io/)[![Dependency](https://camo.githubusercontent.com/999b0c366fc3de144b00e0ff42489d9f596f8238734ea01b2ed4445a7fb3831a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73796d666f6e792d253345253344253230362e342d677265656e2e737667)](https://symfony.com//)[![Quality Gate Status](https://camo.githubusercontent.com/d1581813789a1017a6df5fc7780e1ee0f53064ec775a3713e9a13598125dba85/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d506978656c2d4d61697269655f73756c752d746f776e68616c6c7075626c69636d61726b657462756e646c65266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/summary/new_code?id=Pixel-Mairie_sulu-townhallpublicmarketbundle)

📝 Presentation
--------------

[](#-presentation)

This bundle for the Sulu CMS manages public contracts for town halls.

✅ Features
----------

[](#-features)

- Public market
- List of entities (via smart content)
- Activity log
- Trash

🚀 Installation
--------------

[](#-installation)

### Install the bundle

[](#install-the-bundle)

Execute the following [composer](https://getcomposer.org/) command to add the bundle to the dependencies of your project:

```
composer require pixelmairie/sulu-townhallpublicmarketbundle
```

### Enable the bundle

[](#enable-the-bundle)

Enable the bundle by adding it to the list of registered bundles in the `config/bundles.php` file of your project:

```
return [
    /* ... */
    Pixel\TownHallPublicMarketBundle\TownHallPublicMarketBundle::class => ['all' => true],
];
```

Bundle Config
-------------

[](#bundle-config)

Define the Admin Api Route in `routes_admin.yaml`

```
townhall.publics_markets_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.publics_markets_route_controller
  name_prefix: townhall.
```

👍 Use
-----

[](#-use)

### Add/Edit

[](#addedit)

Go to the "Town hall" section in the administration interface. Then, click on "Public market". To add, simply click on "Add". Fill the fields that are needed for your use.

Here is the list of the fields:

- Title (mandatory)
- URL (mandatory and filled automatically according to the title)
- Published at (filled manually)
- Status (mandatory)
- Description (mandatory)
- List of documents

Once you finished, click on "Save".

The public market you added is not visible on the website yet. In order to do that, click on "Activate?". It should be now visible for visitors.

To edit, simply click on the pencil at the left of the entity you wish to edit.

The edit form has a preview where you can see all your changes being updated live.

### Status

[](#status)

A public market **must** have a status. This status allows you to determine at which step is your public market.

To create status:

- You **must** create a root category which **must** have its key named "publics\_markets"
- Then, under this root category, you create all the categories you need

### Remove/Restore

[](#removerestore)

There are two ways to remove a public market:

- Check every public market you want to remove and then click on "Delete"
- Go to the detail of a public market (see the "Add/Edit" section) and click on "Delete".

In both cases, the public market will be put in the trash.

To access the trash, go to the "Settings" and click on "Trash". To restore a public market, click on the clock at the left. Confirm the restore. You will be redirected to the detail of the public market you restored.

To remove permanently a public market, check all the public markets you want to remove and click on "Delete".

🤝 Contributing
--------------

[](#-contributing)

You can contribute to this bundle. The only thing you must do is respect the coding standard we implement. You can find them in the `ecs.php` file.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Every ~0 days

Total

2

Last Release

520d ago

### Community

Maintainers

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

---

Top Contributors

[![matthieu2607](https://avatars.githubusercontent.com/u/14790414?v=4)](https://github.com/matthieu2607 "matthieu2607 (14 commits)")

---

Tags

sulu-bundlesulusulucms

###  Code Quality

Static AnalysisPHPStan, Rector

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pixelmairie-sulu-townhallpublicmarketbundle/health.svg)

```
[![Health](https://phpackages.com/badges/pixelmairie-sulu-townhallpublicmarketbundle/health.svg)](https://phpackages.com/packages/pixelmairie-sulu-townhallpublicmarketbundle)
```

###  Alternatives

[sulu/article-bundle

Bundle for managing localized content-rich entities like blog-posts in the Sulu content management system

66409.6k2](/packages/sulu-article-bundle)[sulu/skeleton

Project template for starting your new project based on the Sulu content management system

29733.3k](/packages/sulu-skeleton)

PHPackages © 2026

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