PHPackages                             igornast/data-tables - 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. igornast/data-tables

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

igornast/data-tables
====================

DataTables Symfony 5 component.

2.0.x-dev(5y ago)56MITPHPPHP ^7.2

Since Apr 25Pushed 5y ago1 watchersCompare

[ Source](https://github.com/igornast/data-tables)[ Packagist](https://packagist.org/packages/igornast/data-tables)[ RSS](/packages/igornast-data-tables/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (4)Used By (0)

igornast/data-tables
====================

[](#igornastdata-tables)

DataTables Symfony component provide easy to use tool that allow you to build dynamically generated js tables for your doctrine entities. Feel free to send feedback and suggestions about development and features implementation.

Primary goal is to improve rendering viewstwig with listings, to make them more friendly to users and Symfony developers.

### Example

[](#example)

 [![](https://camo.githubusercontent.com/7ad9e92a563f572689049a88e84b2e097a53c88437d6e09cdedefe641da50803/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f4c6e567462557a5350317379754c5a4146412f67697068792e676966)](https://camo.githubusercontent.com/7ad9e92a563f572689049a88e84b2e097a53c88437d6e09cdedefe641da50803/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f4c6e567462557a5350317379754c5a4146412f67697068792e676966)

### Installation

[](#installation)

Install component with Composer.

```
composer require igornast/data-tables

```

Enable bundle in bundles.php array.

```
return [
    //others
    Igornast\DataTables\IgornastDataTablesBundle::class => ['all' => true],
];
```

### Usage

[](#usage)

Data-tables can be used to create listings loaded by AJAX request. Additionally rows can be filtered, sorted and paginated. Script will send POST request to package controller which will return JSON reponse on success.

```
igornast_datatables_get_data POST  /igornast-data-tables/get-data

```

### Scripts

[](#scripts)

Add and install assets (js, css) into your base twig template, use twig extension to render listing.

```
{% block body %}

    {{ igornast_listing(listing) }}
{% endblock %}
```

### Build Listing

[](#build-listing)

Use ListingManager service to build listing instance

```
$listing = $listingManager
        ->createListingBuilder('my_awesome_table', SampleItem::class)
        ->getListing();
```

Pass table name and entity FQN. Data will be loaded from given entity and property from 'mainSearchField' will be used during rows filtration.

```
class IndexController
{
    /**
     * @Route("/", name="app_index")
     */
    public function index(ListingManager $listingManager)
    {
        $listing = $listingManager
            ->createListingBuilder('my_awesome_table', SampleItem::class)
            ->mainSearchField('name')
            ->template('custom_listing_template.html.twig')
            ->column('id', 'Object Id')
            ->column('type', 'Type')
            ->column('name', 'Name')
            ->getListing();

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

Add columns by passing property name and column label to ListingBuilder::column method. Component currently support only scalar values;

```
$listing->column('entityProperty', 'Column Label');
```

Pass custom template with ListingBuilder::template method.

```
$listing->template('listing_template.html.twig');
```

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

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

Total

3

Last Release

2047d ago

Major Versions

1.1.x-dev → 2.0.x-dev2020-10-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/3f23968b4495768e615a39899ef46172e905fc9151c94bb69f3dda72b3a914d6?d=identicon)[igornast](/maintainers/igornast)

---

Top Contributors

[![igornast](https://avatars.githubusercontent.com/u/13620718?v=4)](https://github.com/igornast "igornast (24 commits)")

---

Tags

symfonydatatables

### Embed Badge

![Health badge](/badges/igornast-data-tables/health.svg)

```
[![Health](https://phpackages.com/badges/igornast-data-tables/health.svg)](https://phpackages.com/packages/igornast-data-tables)
```

###  Alternatives

[winzou/state-machine-bundle

Bundle for the very lightweight yet powerful PHP state machine

34010.4M15](/packages/winzou-state-machine-bundle)[pentatrion/vite-bundle

Vite integration for your Symfony app

2725.3M13](/packages/pentatrion-vite-bundle)[maba/webpack-bundle

Bundle to Integrate Webpack to Symfony

123268.2k4](/packages/maba-webpack-bundle)[jbtronics/settings-bundle

A symfony bundle to easily create typesafe, user-configurable settings for symfony applications

9546.7k2](/packages/jbtronics-settings-bundle)

PHPackages © 2026

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