sylius/grid
Sylius Grid component adds a reusable, configurable grid system for Symfony apps. Define grids in configuration, plug in data providers and drivers, then render sortable, filterable tables with pagination and actions—ideal for admin panels and back-office listings.
sylius/grid package is a generic, decoupled grid component designed for managing tabular data with sorting, filtering, and actions. It aligns well with Laravel’s modular architecture, particularly in e-commerce (Sylius) or admin panel use cases where structured data grids are common.$grid = $gridFactory->createGrid('ProductGrid', [
'data_source' => $productRepository,
'fields' => [
'name' => 'Name',
'price' => 'Price (USD)',
],
'filters' => [
'name' => 'TextFilter',
'price' => 'RangeFilter',
],
]);
{{ grid('ProductGrid') }}), enabling easy templating without tight coupling to the grid logic.with() in repositories or query scopes.maatwebsite/excel.Product or User table).foreach loops in Blade with grids for read-heavy tables.$products = Product::query()
->when($request->sort, function($q) use ($request) {
$q->orderBy($request->sort, $request->direction);
})
->paginate(20);
$grid = $gridFactory->createGrid('ProductGrid', $request->all());
$view->withGrid($grid);
composer require sylius/grid
php bin/console sylius:assets:install
config/app.php:
Sylius\Grid\Factory\GridFactory::class => \DI\autowire(),
config/grids/product_grid.yaml).public function index(Request $request, GridFactory $gridFactory)
{
$grid = $gridFactory->createGrid('ProductGrid', $request->query->all());
return view('products/index', ['grid' => $grid]);
}
@grid directive in views:
@grid('ProductGrid')
config/grids/production_grid.yaml) for performance tuning.composer.json for stability:
"sylius/grid": "^1.0"
How can I help you explore Laravel packages today?