php - 在 Sylius 中过滤由发货网格处理的数据
问题描述
我在后台有一个发货网格,无论付款状态如何,它都会显示每个订单。我只想显示 payment_status = 已付款的订单。
我在文档和 GitHub 上一无所获,只有作为搜索引擎的过滤器。另外,网格中没有付款状态列。
如何访问此网格的数据查询并仅选择已付款订单?
这是配置文件 shipping.yml:
sylius_admin_shipment:
resource: |
alias: sylius.shipment
section: admin
templates: "@SyliusAdmin\\Crud"
only: ['index']
grid: sylius_admin_shipment
permission: true
vars:
all:
subheader: sylius.ui.manage_shipments
index:
icon: truck
type: sylius.resource
我试图添加侦听器、过滤器,但我真的不知道如何管理资源(我猜这是包含数据的变量?),我试图跟踪文件但我没有找到任何东西,也没有医生。
顺便说一句,我对 Sylius 完全陌生,所以如果有人有提示或解决方案,那就太好了!提前致谢
解决方案
您发布的配置块是“资源路由”,这意味着它是由 Sylius 处理的特殊路由,可自动为给定资源生成 CRUD 路由。有关此的更多信息可以在ResourceBundle 有关路由的文档中找到。
对于列表页面,它使用在您发布的配置中指定的网格。
您需要的是扩展和修改网格的配置。
您可以在此处找到此网格的基本配置。
对于您的情况,最简单的方法是覆盖用于“选择”付款的方法。
repository:
method: createListQueryBuilder # <== Change this one
然后扩展资源并Repository
在Payment
其中创建新函数,它将正确添加where
到网格使用的查询构建器中。
可以在此处找到有关扩展存储库的更多信息。
希望这可以帮助 :)
推荐阅读
- oracle - 如何通过 oracle Apex 检查外部作业的成功或失败状态
- sql - pymysql 在 mac os 上没有模块问题(conda 安装解决方案不起作用)
- node.js - 如何制作适用于 2 个或更多通道的命令
- html - 引导列表组“a”中的文本未向右对齐
- asp.net-core - 在自定义用户验证器在身份核心中运行之前创建用户
- swift - SwiftUI:您能否为数据本身的变化制作动画,而不仅仅是视图对变化的响应?
- python - 理解其中一种python数据类型有问题
- c# - 通过拆分从多个文本文件或一个文件中搜索网站上出现的特定单词
- azure-cosmosdb - 唯一 ID 是 CosmosDB 的最佳分区键吗
- docker - Portainer:在尝试连接到 Docker 守护进程套接字时获得权限被拒绝