PHPackages                             willsprod/ux-datatables - 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. willsprod/ux-datatables

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

willsprod/ux-datatables
=======================

DataTables.net integration for Symfony

1.0.0(9mo ago)019MITPHPPHP &gt;=8.1

Since Aug 5Pushed 9mo agoCompare

[ Source](https://github.com/WillsProd/ux_datatables)[ Packagist](https://packagist.org/packages/willsprod/ux-datatables)[ Docs](https://github.com/willsprod/ux-datatables)[ RSS](/packages/willsprod-ux-datatables/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (8)Versions (2)Used By (0)

UX DataTables for Symfony
=========================

[](#ux-datatables-for-symfony)

[![Packagist Version](https://camo.githubusercontent.com/a693c86800bda81c22170022b2892c40da3bc86723fba218bc79f8560fd215a3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f77696c6c7370726f642f75782d646174617461626c6573)](https://camo.githubusercontent.com/a693c86800bda81c22170022b2892c40da3bc86723fba218bc79f8560fd215a3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f77696c6c7370726f642f75782d646174617461626c6573)[![License](https://camo.githubusercontent.com/6ddf9ea14fb1af212ba38d8e9861c19f34f75bd4c8cb25e35794550404d23a1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f77696c6c7370726f642f75785f646174617461626c6573)](https://camo.githubusercontent.com/6ddf9ea14fb1af212ba38d8e9861c19f34f75bd4c8cb25e35794550404d23a1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f77696c6c7370726f642f75785f646174617461626c6573)[![Symfony UX](https://camo.githubusercontent.com/01a3e630a0ac686de4053e0d3403cfbb5e08f3ba37d02cfdb2907777baa4f50e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53796d666f6e7925323055582d636f6d70617469626c652d627269676874677265656e)](https://camo.githubusercontent.com/01a3e630a0ac686de4053e0d3403cfbb5e08f3ba37d02cfdb2907777baa4f50e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53796d666f6e7925323055582d636f6d70617469626c652d627269676874677265656e)

This bundle integrates [DataTables.net](https://datatables.net) with [Symfony UX](https://symfony.com/doc/current/frontend.html) using Stimulus.

Features
--------

[](#features)

- Easy integration of DataTables in Symfony projects.

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- StimulusBundle
- Composer

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

[](#installation)

```
composer require WillsProd/ux-datatables
```

Make sure StimulusBundle is installed:

```
composer require symfony/stimulus-bundle
```

Usage
-----

[](#usage)

Build you dataTable in your controller:

```
$table = new DataTable();

return $this->render('path/to/your/twig', [
    'table' => $table
])
```

Render the dataTable in your twig template:

```
render_datatable(table)
```

Example to show users List in Symfony

```
    //App/Controller/UserController.php
    #[Route(name: 'app_user_index', methods: ['GET'])]
    public function index(DataTableBuilderInterface $builder): Response
    {
        $table = $builder->createDataTable('userTable');

        $table->setOptions([
            "columns" => [
                ["title" => 'ID'],
                ["title" => 'Email'],
                ["title" => 'Roles'],
                ["title" => 'Actions'],
            ],
            "ajax" => [
                'url' => $this->generateUrl("app_user_list"),
                'dataSrc' => ''
            ],
            'language' => [
                'url' => 'https://cdn.datatables.net/plug-ins/1.13.7/i18n/fr-FR.json' //use https://datatables.net/plug-ins/i18n/ to find your langage
            ],
            "columnDefs" => [
                [
                    "targets" => [0], // ID column
                    "visible" => false,
                    "searchable" => false,
                ],
                [
                    "targets" => [3], // Actions column
                    "className" => "text-base !font-normal text-slate-600 border-b !border-b-slate-100 !p-1 text-right dt-head-right" // Using tailwind classes - you can install tailwind by using composer require symfonycasts/tailwindBundle - Please refer to the official documentation : https://symfony.com/bundles/TailwindBundle/current/index.html
                ],
                [
                    "targets" => [1, 2, 3],
                    "className" => "text-base !font-normal text-slate-600 border-b !border-b-slate-100 !p-1"
                ],
            ],
            "search_input" => [
                "className" => "!border-0 shadow rounded-lg"
            ]
        ]);

        return $this->render('user/index.html.twig', [
            'table' => $table
        ]);
    }
```

```
    #[Route("/api/users", name: 'app_user_list', methods: ['GET'])]
    public function usersList(UserRepository $userRepository): JsonResponse
    {
        $showRoute = "app_user_show";
        $editRoute = "app_user_edit";

        return $this->json($userRepository->findUsers($showRoute, $editRoute));
    }
```

```
    //App/Repository/UserRepository
    public function findUsers(string $showRoute, string $editRoute): array
    {

        $qb = $this->createQueryBuilder('u');
        $qb->select('u.id', 'u.email', 'u.roles');

        $result = $qb->getQuery()->getScalarResult();

        return array_map(function ($row) use ($showRoute, $editRoute) {
            return [
                $row['id'],
                $row['email'],
                $row['roles'],
                sprintf(
                    "Details | Edit",
                    $this->urlGenerator->generate($showRoute, ['id' => $row['id']]),
                    $this->urlGenerator->generate($editRoute, ['id' => $row['id']])
                )
            ];
        }, $result);
    }
```

```

{% extends 'base.html.twig' %}

{% block title %}Users list{% endblock %}

{% block body %}
    Users list

            Add user

        {{ render_datatable(table) }}

{% endblock %}
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance61

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity44

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

Unknown

Total

1

Last Release

277d ago

### Community

Maintainers

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

---

Top Contributors

[![WillsProd](https://avatars.githubusercontent.com/u/164310569?v=4)](https://github.com/WillsProd "WillsProd (16 commits)")

---

Tags

symfonysymfony-uxdatatablestimulus

### Embed Badge

![Health badge](/badges/willsprod-ux-datatables/health.svg)

```
[![Health](https://phpackages.com/badges/willsprod-ux-datatables/health.svg)](https://phpackages.com/packages/willsprod-ux-datatables)
```

###  Alternatives

[symfony/ux-chartjs

Chart.js integration for Symfony

1003.2M18](/packages/symfony-ux-chartjs)[pentatrion/vite-bundle

Vite integration for your Symfony app

2725.3M13](/packages/pentatrion-vite-bundle)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)[pugx/autocompleter-bundle

Add an autocomplete type to forms

93861.6k3](/packages/pugx-autocompleter-bundle)[pentiminax/ux-datatables

DataTables.net integration for Symfony

605.6k](/packages/pentiminax-ux-datatables)[symfony/ux-notify

Native notification integration for Symfony

1274.7k](/packages/symfony-ux-notify)

PHPackages © 2026

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