presta / sonata-saved-filters-bundle
一个 Symfony 扩展包,允许用户在 Sonata Admin 中保存和分享筛选器
v1.1.0
2024-08-01 14:37 UTC
Requires
- php: ^8.1
- doctrine/orm: ^2.7|^3.2
- sonata-project/admin-bundle: ^4.22
- sonata-project/doctrine-orm-admin-bundle: ^4.9
- symfony/framework-bundle: ^6.3|^7.0
- symfony/validator: ^6.3|^7.0
- twig/twig: ^3.5
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5
- symfony/browser-kit: ^6.3|^7.0
- symfony/css-selector: ^6.3|^7.0
- symplify/easy-coding-standard: ^11.3
This package is auto-updated.
Last update: 2024-09-01 14:46:24 UTC
README
PrestaSonataSavedFiltersBundle 允许您的 Sonata 用户保存和共享列表筛选器。
预览
在每一个管理界面,您可以将当前的筛选器保存到一个专用的数据库条目中,在命名后。
当您保存了一个筛选器后,您可以在创建它的管理界面中随时重新应用它。
存在一个管理界面,您可以在其中查看、分享和删除在应用程序中创建的筛选器。
安装
使用以下命令安装扩展包
$ composer require presta/sonata-saved-filters-bundle
启用扩展包
# config/bundles.php return [ + Presta\SonataSavedFiltersBundle\PrestaSonataSavedFiltersBundle::class => ['all' => true], ];
配置
将我们的 JavaScript 导入到项目中
import '../../public/bundles/prestasonatasavedfilters/scripts/app';
这一步高度依赖于您的公共资源是如何构建和导入的,这取决于您知道如何最好地将它包含到项目中。
将我们的动作模板包含到您配置为管理布局的 Twig 模板中
{% extends '@SonataAdmin/standard_layout.html.twig' %} {% block sonata_admin_content_actions_wrappers %} {{ parent() }} {{ include('@PrestaSonataSavedFilters/saved_filters_action.html.twig') }} {% endblock %}
参见相关的 SonataAdmin 文档
配置 doctrine,指定哪些实体将附加到保存的筛选器 config/packages/doctrine.yaml
<?php use Doctrine\ORM\Mapping as ORM; use Presta\SonataSavedFiltersBundle\Entity\SavedFiltersOwnerInterface; use Symfony\Component\Security\Core\User\UserInterface; #[ORM\Entity] class User implements UserInterface, SavedFiltersOwnerInterface { }
# config/packages/doctrine.yaml doctrine: orm: resolve_target_entities: Presta\SonataSavedFiltersBundle\Entity\SavedFiltersOwnerInterface: 'App\Entity\User'
参见相关的 DoctrineBundle 文档
将管理界面添加到您想要的位置的菜单中
# config/packages/sonata_admin.yaml sonata_admin: dashboard: groups: the_group_in_which_you_want_the_admin: items: - presta_sonata_saved_filters.saved_filters
最后,更新您的模式以创建所需为实体而创建的表
$ bin/console doctrine:schema:update
或者,如果您安装了
DoctrineMigrationsBundle
,创建一个迁移$ bin/console doctrine:migrations:diff $ bin/console doctrine:migrations:migrate
该项目由 PrestaConcept 支持
在 MIT 许可证 下发布