loic425/sylius-grid-builder

此包已被废弃,不再维护。未建议替代包。

Sylius 网格插件,帮助构建网格

v0.2.1 2021-09-13 10:51 UTC

This package is auto-updated.

Last update: 2022-04-07 13:06:29 UTC


README

现在已集成到 Sylius 网格包 1.11 的 beta 版本 中。

Sylius Grid Builder

使用 PHP 构建 Sylius 网格。

<?php

// 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')
    );
};

MIT License

安装

使用 composer 安装 Sylius 网格构建器。

  composer require loic425/sylius-grid-builder

导入您的网格 PHP 配置文件。

# config/services.yaml
imports:
    - { resource: "sylius/grids/**.php" }

文档

阅读整个 Sylius 网格包文档,查看所有选项。

Sylius 网格包文档

许可

Sylius Grid Builder 完全免费,并遵循 MIT 许可 发布。

相关

以下是一些相关项目。

Sylius 网格包