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

ActiveLibrary

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

2043d 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

[omines/datatables-bundle

Symfony DataTables Bundle with native Doctrine ORM, Elastica and MongoDB support

2851.4M6](/packages/omines-datatables-bundle)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)

PHPackages © 2026

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