Sulu管理UI资源列表视图:如何为表格行添加HTML类
在Sulu管理后台表格中根据实体状态为行添加HTML类
当然可以实现,Sulu提供了灵活的方式来根据实体的状态标识为表格行添加自定义HTML类,具体做法如下:
- 在你的Admin类的列表构建逻辑中,使用
addRowStyle方法传入回调函数,根据实体的状态值返回对应的CSS类名:
// 假设你的实体类是YourEntity,状态字段为status,可选值为active/inactive/pending $this->listBuilderFactory->create(YourEntity::class) // 先配置好你的表格列(比如addColumn等) ->addColumn('id', 'ID') ->addColumn('name', '名称') // 添加行样式回调 ->addRowStyle(function ($entity) { return match ($entity->getStatus()) { 'active' => 'table-row-success', 'inactive' => 'table-row-danger', 'pending' => 'table-row-warning', default => '', // 默认不添加类 }; });
这个回调函数会遍历每一行的实体数据,根据状态返回对应的类名,Sulu会自动将这个类添加到表格的
<tr>标签上。如果需要自定义样式类,直接返回你自己定义的类名即可,比如'custom-active-status',之后在你的后台自定义样式文件中添加对应的样式规则就行。要是你用的是XML配置列表的方式,也可以通过
row-style属性指定一个表达式或者服务来实现,不过PHP代码的方式更直观灵活。
内容的提问来源于stack exchange,提问作者roundge
相关产品推荐
相关产品推荐

