Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Grid Bundle

Grid Bundle Laravel Package

sylius/grid-bundle

View on GitHub
Deep Wiki
Context7

Generic data grids for Symfony applications, support Doctrine and custom drivers, sorting, filtering, actions and field types.

Frequently asked questions about Grid Bundle
Can I use SyliusGridBundle directly in Laravel without Symfony?
No, SyliusGridBundle is designed for Symfony and requires a bridge like `spatie/symfony-laravel-bridge` to work in Laravel. You’ll need to replace Doctrine with Eloquent, Twig with Blade, and adapt Symfony’s DI and events to Laravel’s ecosystem. A proof-of-concept is recommended before full adoption.
How do I replace Doctrine ORM with Eloquent in SyliusGridBundle?
Create a custom `EloquentGridProvider` extending Sylius’s base classes and override methods like `getQueryBuilder()` to use Eloquent’s query builder. You’ll also need to adapt field types, filters, and actions to work with Eloquent’s syntax. Start with a single grid type to test compatibility.
Is SyliusGridBundle compatible with Laravel’s Blade templating?
No, the bundle uses Twig by default. You can either build a Blade-compatible renderer by extending Laravel’s `View` class or use Inertia.js to render grids in a SPA. Alternatively, a hybrid Twig/Blade approach might work for partial templates, but full parity requires custom development.
What Laravel versions and PHP versions does SyliusGridBundle support?
The bundle itself targets Symfony 6/7/8 and PHP 8.1–8.4. For Laravel, compatibility depends on your bridge setup. PHP 8.1+ is required, and Laravel 9+ is recommended due to its improved Symfony interoperability. Test thoroughly with your target Laravel version.
Are there performance differences between Doctrine and Eloquent in SyliusGridBundle?
Yes, Eloquent’s query builder may introduce slight overhead due to its abstraction layer compared to Doctrine’s native SQL generation. Benchmark sorting, filtering, and pagination operations in your Laravel app to identify bottlenecks. Caching query results (e.g., with Laravel’s cache) can mitigate this.
Can I use SyliusGridBundle for bulk actions (e.g., delete, export) in Laravel?
Yes, but you’ll need to implement Laravel-specific logic for bulk actions. SyliusGridBundle’s action system can be extended to trigger Laravel’s job queues, API calls, or direct database operations. For example, replace Symfony’s `Action` classes with Laravel’s `Command` or `Job` implementations.
What’s the best way to configure SyliusGridBundle in Laravel?
SyliusGridBundle uses YAML/XML configs, but Laravel prefers PHP or `.env` files. Convert configurations to Laravel’s format (e.g., `config/grid.php`) and use service providers to register grid definitions. For dynamic grids, consider generating configs at runtime via Laravel’s `config()` or cached views.
Are there Laravel-native alternatives to SyliusGridBundle?
Yes, consider packages like `laravel-data-grid`, `spatie/laravel-data-grid`, or `orchid/software` for simpler Laravel integrations. These avoid Symfony dependencies entirely and focus on Eloquent/Query Builder. Evaluate feature parity (e.g., nested grids, custom field types) before choosing.
How do I handle SyliusGridBundle’s Symfony events in Laravel?
Map Symfony events to Laravel’s event system using `Event::listen()` or `Bus::dispatch()`. For example, convert Sylius’s `GridEvent` to a Laravel event like `GridFiltered` and trigger it via a service provider. Use Laravel’s `EventServiceProvider` to bind custom listeners for grid interactions.
What maintenance challenges should I expect with SyliusGridBundle in Laravel?
Maintenance will require monitoring Sylius’s updates for breaking changes and patching the bridge layer. Assign a developer to track Symfony/Laravel compatibility and test new features. Consider forking the bundle if Sylius drops Laravel support or if your customizations diverge significantly.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
phalcon/cli-options-parser
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
directorytree/privacy-filter-classifier
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata