Skip to content

Latest commit

 

History

History
94 lines (73 loc) · 2.2 KB

sort.md

File metadata and controls

94 lines (73 loc) · 2.2 KB

Tri par défaut personnalisé

La méthode setDefaultSort permet de définir le tri par défaut :

<?php
//src/Controller/MyCrudController
namespace App\Controller;

use Ecommit\CrudBundle\Crud\Crud;
//...

class MyCrudController extends AbstractCrudController
{
    protected function getCrudOptions(): array
    {
        //...
        
        $crudConfig = $this->createCrudConfig('my_crud'); //Passé en argument: Nom du CRUD
        $crudConfig->addColumn(['id' => 'id', 'alias' => 'c1.id', 'label' => 'Id'])
            //...
            ->setRoute('my_crud_ajax')
            ->setDefaultSort('id', Crud::ASC)
            //...

        return $crudConfig->getOptions();
    }

    //...
}

Sur deux colonnes (ici va trier sur c1.id puis c1.name) :

<?php
//src/Controller/MyCrudController
namespace App\Controller;

use Ecommit\CrudBundle\Crud\Crud;
//...

class MyCrudController extends AbstractCrudController
{
    protected function getCrudOptions(): array
    {
        //...
        
        $crudConfig = $this->createCrudConfig('my_crud'); //Passé en argument: Nom du CRUD
        $crudConfig->addColumn(['id' => 'id', 'alias' => 'c1.id', 'label' => 'Id',  'alias_sort' => ['c1.id', 'c1.name']])
            //...
            ->setRoute('my_crud_ajax')
            ->setDefaultSort('id', Crud::ASC)
            //...

        return $crudConfig->getOptions();
    }

    //...
}

Il est aussi possible de définir un tri par défaut personnalisé grâce à la méthode setDefaultPersonalizedSort :

<?php
//src/Controller/MyCrudController
namespace App\Controller;

use Ecommit\CrudBundle\Crud\Crud;
//...

class MyCrudController extends AbstractCrudController
{
    protected function getCrudOptions(): array
    {
        //...
        
        $crudConfig = $this->createCrudConfig('my_crud'); //Passé en argument: Nom du CRUD
        $crudConfig->addColumn(['id' => 'id', 'alias' => 'c1.id', 'label' => 'Id'])
            //...
            ->setRoute('my_crud_ajax')
            ->setDefaultPersonalizedSort([
                'c1.purchaseDate' => Crud::DESC,
                'c1.id' => Crud::ASC,
            ])
            //...

        return $crudConfig->getOptions();
    }

    //...
}