【发布时间】:2013-02-22 18:27:38
【问题描述】:
我正在使用 Sonata 与 SonataAdmin 和 SonataOrm,如几个教程中所述。
我只是想删除 DoctrineOrmBundle-ModelManager.php 的一些默认方法
我试图通过放置来覆盖 ModelManager
<?php
namespace Project\AdminBundle\Model;
use Sonata\DoctrineORMAdminBundle\Model\ModelManager as 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']) {
//echo $fieldDescription->getName() . ' --- ' . $values['_sort_order'] . '<br />';
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);
}
}
?>
并告诉 Sonata DoctrineOrm 默认使用它。
但我不知道该怎么做。
我至少在正确的轨道上吗?
【问题讨论】:
标签: symfony doctrine-orm symfony-sonata sonata-admin doctrine-odm