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

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

zicht/admin-bundle
==================

Admin utilities for Symfony

9.0.3(10mo ago)331.9k[1 issues](https://github.com/zicht/admin-bundle/issues)[1 PRs](https://github.com/zicht/admin-bundle/pulls)3MITPHPPHP ^8

Since Jun 23Pushed 10mo agoCompare

[ Source](https://github.com/zicht/admin-bundle)[ Packagist](https://packagist.org/packages/zicht/admin-bundle)[ RSS](/packages/zicht-admin-bundle/feed)WikiDiscussions release/9.x Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (133)Used By (3)

`zicht/admin-bundle`
====================

[](#zichtadmin-bundle)

Provides integration utilities for SonataAdminBundle.

Enable dump-role-hierarchy
--------------------------

[](#enable-dump-role-hierarchy)

To make this command supply you with an actual list of roles, add the following to your `sonata_admin.yml`:

```
parameters:
    sonata.admin.security.handler.role.class: Zicht\Bundle\AdminBundle\Security\Handler\RoleSecurityHandler

sonata_admin:
    security:
        handler: sonata.admin.security.handler.role
```

Override Menu-events to supply other hosts
------------------------------------------

[](#override-menu-events-to-supply-other-hosts)

Add the following configuration to `config/zicht_admin.yml` to override the `AdminEvents::MENU_EVENT`and alter the url to a match in the list.

```
zicht_admin:
    menu:
        hosts:
            - site.nl.dev
            - site.nl.dev3.zicht.intern
            - a.site.nl
```

Duplicate entities
------------------

[](#duplicate-entities)

To duplicate an entity, add the following code:

1. In the admin of the entity you want to duplicate, add the route:

    ```
    protected function configureRoutes(RouteCollectionInterface $collection): void
    {
        $collection->add('duplicate');
    }

    ```
2. In `templates/bundles/SonataAdminBundle/CRUD/edit.html.twig` add the duplicate button:

    ```
    {% if admin.hasroute('duplicate') %}
        {{ 'admin.duplicate.text_button'|trans }}
    {% endif %}

    ```

For an example, see

Override entities
-----------------

[](#override-entities)

To also override the entities content (after duplication, see section above), add the following code:

1. Add the route in the admin so the configureRoute method becomes: ```
    protected function configureRoutes(RouteCollectionInterface $collection): void
    {
        $collection->add('duplicate');
        $collection->add('override');
    }

    ```
2. In the entity create the field `copiedFrom` (and its getter and setter). ```
    #[ORM\ManyToOne(targetEntity: Page::class)]
    #[ORM\JoinColumn(referencedColumnName: 'id', onDelete: 'SET NULL')]
    private ?Page $copiedFrom;

    ```
3. In the admin of the entity, add the override-button: ```
    if ($this->getSubject()->getCopiedFrom()) {
        $formMapper
            ->tab('admin.tab.schedule_publication')
                ->add(
                    'copiedFrom',
                    ButtonType::class,
                    [
                        'required' => false,
                        'help' => $this->trans('admin.help.override', ['%copied_from%' => $this->getSubject()->getCopiedFrom()]),
                        'buttons' => [
                            'override' => [
                                'label' => 'admin.override.text_button',
                                'style' => 'info',
                                'route' => 'override',
                            ],
                        ],
                    ]
                )
                ->end()
            ->end();
    }

    ```

For an example, see

Quicklist
---------

[](#quicklist)

The quicklist is an autocomplete feature. In the CMS you can place this as an extra block at the dashboard to search for entities. It is also possible to use the `AutocompleteType` class in admin entities.

### Configuration

[](#configuration)

In your project, create `templates/admin/block_admin.html.twig` and add this:

```
{% extends sonata_block.templates.block_base %}

{% block block %}
    {{ render(controller('Zicht\\Bundle\\AdminBundle\\Controller\\QuicklistController::quicklistAction')) }}
{% endblock %}

```

In `config/packages/zicht/admin.yaml` you have the option to add multiple repositories to be searched through.

Example:

```
zicht_admin:
    quicklist:
        App\Entity\Page\BiographyPage:
            repository: 'App\Entity\Page\BiographyPage'
            # choose multiple fields to search in...
            fields: ['firstName', 'lastName', 'profession']
            title: Bio
        App\Entity\Page\ArticlePage:
            repository: 'App\Entity\Page\ArticlePage'
            # ...or just one field
            fields: ['title']
            title: Article
        App\Entity\Slide:
            repository: 'App\Entity\Slide'
            fields: ['title', 'internalTitle', 'image']
            title: Slide
            # by default returns 15 results if not configured explicitly
            max_results: 100
```

### Implementation example

[](#implementation-example)

```
namespace App\Admin;

use App\Entity\Page\BiographyPage;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Form\FormMapper;
use Zicht\Bundle\AdminBundle\Form\AutocompleteType;

class FooAdmin extends AbstractAdmin
{
    protected function configureFormFields(FormMapper $form): void
    {
        $form
            ->add('somePropertyNameHere', AutocompleteType::class, [
                'repo' => BiographyPage::class,
            ]);
    }
}
```

Maintainers
===========

[](#maintainers)

- Boudewijn Schoon

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance47

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 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 ~32 days

Recently: every ~56 days

Total

125

Last Release

318d ago

Major Versions

6.3.8 → 7.0.52024-02-27

7.0.5 → 8.1.62024-02-27

8.1.6 → 9.0.02024-05-02

8.1.7 → 9.0.12024-11-21

8.1.8 → 9.0.32025-07-04

PHP version history (7 changes)1.0.1PHP &gt;=5.3

3.3.0PHP ^5.6

3.4.7PHP ^5.6 || ^7

4.0.1PHP ^7

6.3.0PHP ^7.2 || ^8.0

7.0.0PHP ^7.4 || ^8.0

9.0.0PHP ^8

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22889608?v=4)[Fabrique automation](/maintainers/zicht-jenkins)[@zicht-jenkins](https://github.com/zicht-jenkins)

---

Top Contributors

[![7ochem](https://avatars.githubusercontent.com/u/2794908?v=4)](https://github.com/7ochem "7ochem (69 commits)")[![erik-zicht](https://avatars.githubusercontent.com/u/33859362?v=4)](https://github.com/erik-zicht "erik-zicht (57 commits)")[![boudewijn-zicht](https://avatars.githubusercontent.com/u/22885475?v=4)](https://github.com/boudewijn-zicht "boudewijn-zicht (29 commits)")[![pbergman](https://avatars.githubusercontent.com/u/1193198?v=4)](https://github.com/pbergman "pbergman (17 commits)")[![muhammedeminakbulut](https://avatars.githubusercontent.com/u/8781648?v=4)](https://github.com/muhammedeminakbulut "muhammedeminakbulut (15 commits)")[![VMeijer-Zicht](https://avatars.githubusercontent.com/u/57255942?v=4)](https://github.com/VMeijer-Zicht "VMeijer-Zicht (10 commits)")[![leondg](https://avatars.githubusercontent.com/u/8178853?v=4)](https://github.com/leondg "leondg (4 commits)")[![Hangloozz](https://avatars.githubusercontent.com/u/1338481?v=4)](https://github.com/Hangloozz "Hangloozz (3 commits)")[![drm](https://avatars.githubusercontent.com/u/154580?v=4)](https://github.com/drm "drm (2 commits)")[![wpbenner](https://avatars.githubusercontent.com/u/7580635?v=4)](https://github.com/wpbenner "wpbenner (2 commits)")[![ErikTrapman](https://avatars.githubusercontent.com/u/1147578?v=4)](https://github.com/ErikTrapman "ErikTrapman (2 commits)")[![skarnl](https://avatars.githubusercontent.com/u/3471506?v=4)](https://github.com/skarnl "skarnl (1 commits)")[![wtfzdotnet](https://avatars.githubusercontent.com/u/639376?v=4)](https://github.com/wtfzdotnet "wtfzdotnet (1 commits)")[![cynthiameiring](https://avatars.githubusercontent.com/u/55194307?v=4)](https://github.com/cynthiameiring "cynthiameiring (1 commits)")[![patrick-zicht](https://avatars.githubusercontent.com/u/42406499?v=4)](https://github.com/patrick-zicht "patrick-zicht (1 commits)")[![avanderhoek](https://avatars.githubusercontent.com/u/7326701?v=4)](https://github.com/avanderhoek "avanderhoek (1 commits)")[![peerknife](https://avatars.githubusercontent.com/u/30040959?v=4)](https://github.com/peerknife "peerknife (1 commits)")[![rikvanderkemp](https://avatars.githubusercontent.com/u/347308?v=4)](https://github.com/rikvanderkemp "rikvanderkemp (1 commits)")

---

Tags

phpsonatasonata-adminsonataadminbundlesymfonysymfony-bundle

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/zicht-admin-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/zicht-admin-bundle/health.svg)](https://phpackages.com/packages/zicht-admin-bundle)
```

###  Alternatives

[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19562.3M1.3k](/packages/drupal-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[ezsystems/ezplatform-admin-ui

eZ Platform Admin v2

54805.4k61](/packages/ezsystems-ezplatform-admin-ui)[kunstmaan/admin-bundle

The Kunstmaan Admin bundle supplies your project with a basic, elegant backend interface you can modify and extend so you can make your perfect admin module. The clean interface makes it straightforward for you and the people working with it to change settings and modify content.

58149.5k20](/packages/kunstmaan-admin-bundle)

PHPackages © 2026

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