2016-05-19 4 views
0

デフォルトでは、現在のテーブルのカラムムのみがSilverstripeのmodeladminでソート可能です。関連するテーブルの列をmodeladminでソートできるようにするにはどうすればよいですか?関連するSilverstripeテーブルのModelAdminカラムのソート

+1

あなたはソート可能とはどういう意味ですか? ModelAdminの上(3.3)または左(3.1)の検索フィールドを意味しますか?それともグリッドフィールド上の検索サイトを意味しますか?または、SortableGridfieldモジュールを使用しますか? –

+0

@Eagle Silverstripe 3.3.2のmodeladminの上にあるテーブル/クラス名の右側にある上下の矢印をクリックします。 –

答えて

1

グリッドフィールド列の右側にあるソート矢印は、GridFieldSortableHeaderコンポーネントから来ています。詳細についてはdocumentationをご確認ください。

は、あなたの「管理モデル」で、このコードを入れ

public function getCMSFields() 
{ 
    $fields = parent::getCMSFields(); 

    $grid = $fields->dataFieldByName('YourRelation'); 
    $gridConfig = $grid->getConfig(); 
    $gridConfig->addComponent(new GridFieldSortableHeader()); 

    return $fields; 
} 
+0

$ grid = $ fields-> dataFieldByName( 'YourRelation'); 'YourRelation'は$ many_many配列にありますか? –

+0

はい。したがって、もし '$ many_many = ['Products' => 'Product'];'それで 'YourRelation'は' Products'になります –

関連する問題