I want some changes in ModelMangaer then I was extending ModelManager but It's not working. I don't know why ?
Any one tell me why it is not working?
File where I extend Sonata\DoctrineORMAdminBundle\Model\ModelManager->
<?php
use Sonata\DoctrineORMAdminBundle\Model\ModelManager;
class ModelManager extends ModelManager
{
/**
* {@inheritdoc}
*/
public function getSortParameters(FieldDescriptionInterface $fieldDescription, DatagridInterface $datagrid)
{
$values = $datagrid->getValues();
$values = $_GET['filter'];
if ($fieldDescription->getName() == $values['_sort_by']) {
if ($values['_sort_order'] == 'ASC') {
$values['_sort_order'] = 'DESC';
} else {
$values['_sort_order'] = 'ASC';
}
} else {
$values['_sort_order'] = 'ASC';
$values['_sort_by'] = $fieldDescription->getName();
}
return array('filter' => $values);
}
You have to modify the service that is going to be injected, see:
Admin's documentation - Reference - Advanced (master) - 26.1. Service Configuration
For an individual Model Manager on an Admin Class please see this answer: SonataDoctrineORM - Model extends
You forgot the namespace
You need to use bundle inheritance.
You have a very big problem here:
You try to extend class from self. It's wrong! You need to declare your base class with Fully Qualified Name or use
use
statement. Also you forgot to put namespace declaration. Something like this will work: