如何更改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