PHP code example of loic425 / sylius-grid-builder
1. Go to this page and download the library: Download loic425/sylius-grid-builder library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
loic425 / sylius-grid-builder example snippets
// config/sylius/grids/book.php
use App\Entity\Author;
use App\Entity\Book;
use App\Entity\Nationality;
use SyliusGridBuilder\Field;
use SyliusGridBuilder\Filter;
use SyliusGridBuilder\GridBuilder;
use SyliusGridBuilder\GridConfig;
return static function (GridConfig $grid) {
$grid->addGrid(GridBuilder::create('app_book', Book::class)
->addFilter(Filter::create('title', 'string'))
->addFilter(Filter::create('author', 'entity')
->setFormOptions([
'class' => Author::class,
'multiple' => true,
])
)
->addFilter(Filter::create('nationality', 'entity')
->setOptions([
'fields' => ['author.nationality'],
])
->setFormOptions([
'class' => Nationality::class,
])
)
->addFilter(Filter::create('currencyCode', 'string')
->setOptions([
'fields' => ['price.currencyCode'],
])
)
->addFilter(Filter::create('state', 'select')
->setFormOptions([
'multiple' => true,
'choices' => [
'initial' => 'initial',
'published' => 'published',
'unpublished' => 'unpublished',
],
])
)
->orderBy('title', 'asc')
->addField(Field::create('title', 'string')
->setLabel('Title')
->setSortable(true)
)
->addField(Field::create('author', 'string')
->setLabel('Author')
->setPath('author.name')
->setSortable(true, 'author.name')
)
->addField(Field::create('nationality', 'string')
->setLabel('Nationality')
->setPath('author.nationality.name')
->setSortable(true, 'author.nationality.name')
)
->setLimits([10, 5, 15])
->addCreateAction()
->addUpdateAction()
->addDeleteAction()
->addDeleteAction([], 'bulk')
);
};
yaml
# config/services.yaml
imports:
- { resource: "sylius/grids/**.php" }