在Sonata Admin中每列中的排序方向

时间:2018-11-19 10:36:33

标签: symfony sorting admin sonata

在列表视图中,当我第一次单击排序按钮时,所有字段的默认方向是ASC。有什么方法可以设置每个方向的方向吗?像这样:

$listMapper
    ->add('name', null, [
        'sort_order' => 'ASC'
    ])
    ->add('date', null, [
        'sort_order' => 'DESC'
    ])

1 个答案:

答案 0 :(得分:0)

好吧,尽管效果不是很好,但我还是设法做到了。在SonataAdminBundle / views / CRUD / base_list.html.twig模板中,在创建排序参数之后

{% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}

我添加了以下代码:

{% set sortFilters = sort_parameters['filter'] %}
{% set sortFilters = sortFilters|merge({'_sort_order': field_description.options._sort_order}) %}
{% set sort_parameters = sort_parameters|merge({'filter': sortFilters}) %}

现在我唯一要做的就是告诉Admin中的字段sort_order,就像这样:

$listMapper->
    ->add('sent', null, [
        '_sort_order' => 'DESC',
        ...

由于它是默认值,因此无需放置ASC。

就像我之前说过的:不花哨,也不喜欢它,但是对我有用。