如何更改SonataAdminBundle中列表操作的默认实体顺序?索纳塔管理软件包订单
答案:) 添加到您的管理类
protected $datagridValues = array( '_page' => 1, '_sort_order' => 'DESC', // sort direction '_sort_by' => 'id' // field name );
如何更改SonataAdminBundle中列表操作的默认实体顺序?索纳塔管理软件包订单
答案:) 添加到您的管理类
protected $datagridValues = array( '_page' => 1, '_sort_order' => 'DESC', // sort direction '_sort_by' => 'id' // field name );
您可以像这样通过构造函数添加其他排序顺序或者设置一个默认:
public function __construct($code, $class, $baseControllerName)
{
parent::__construct($code, $class, $baseControllerName);
if (!$this->hasRequest()) {
$this->datagridValues = array(
'_page' => 1,
'_sort_order' => 'ASC', // sort direction
'_sort_by' => 'artist_id' // field name
);
}
}
最好不要重写构造函数。 但是,您可以覆盖Admin::configure()
方法并设置datagridValues
阵列的某个元素。
见例如:
public function configure()
{
parent::configure();
$this->datagridValues['_sort_by'] = 'name';
$this->datagridValues['_sort_order'] = 'DESC';
}
的回答为了安全起见,我还要添加'parent: :配置()'。 – likeitlikeit
此方法为空。它只存在于这种情况下。如果我理解正确。但是你是对的,调用父方法会更安全。我调整了这个例子。 –
谢谢。我会尝试。 – rtyshyk
'警告:缺少Neon \ CoreBundle \ Controller \ OrderAdminController :: __ construct()的参数1。' – rtyshyk
请放在这里请使用命名空间列表 – pilot