Extensions 

A datagrid object only converts the datasource to the result set. Extensions perform all other operations, such as pagination and filtering.

Oro already provides the following extensions:

  • Formatter - responsible for backend field formatting (e.g., generating URL using router, translation using Symfony translator, etc.). This extension also passes column configuration to the view layer.

  • Pager - responsible for pagination

  • Sorter - responsible for sorting

  • Action - provides actions configurations for grid

  • Mass Action - provides mass actions configurations for grid

  • Toolbar - provides toolbar configuration for view

  • Grid Views - provides configuration for grid views toolbar

  • Export - responsible for export grid data

  • Field ACL - allow to protect entity fields with ACL

  • Board - responsible for adding Kanban board views for datagrids

  • Filter - responsible for adding filtering and filter widgets to grid

  • Organization Column - responsible for adding the organization column if a user works in the global organization

Customization 

To implement your extension:

  • Develop a class that implements ExtensionVisitorInterface (the AbstractExtension class provides a basic implementation)

  • Register your extension as a service with tag { name: oro_datagrid.extension }