2

ユーザーは、同じ ModelAdmin 内の同じ DataObject に対して表示される列に対してさまざまな設定を持っており、独自のセッションでそれらを制御したいと考えています。

次のデータオブジェクトを考えると...

class MyDataObject extends DataObject {
    static $db = array(
        'Name'      => 'Varchar',
        'Date'      => 'SS_DateTime',
        'Number'    => 'Decimal(8,2)',
    );
    public static $summary_fields = array(
        'Name',
        'Date',
        'Number'
    );
}

...そして次の ModelAdmin...

class MyModelAdmin extends ModelAdmin {
    static $mangaged_models = array(
    'MyDataObject',
    );  
    static $url_segment = 'mymodeladmin';
    static $menu_title = 'MyModelAdmin';
    static $menu_priority = 9;
}

...単純なjavascriptのみのソリューション(選択した列をCookieに保存すると思います)またはユーザーごとに列を制御するよりプログラム的なもの(つまりphp)があります-各ユーザーが列を選択できるようにしますセッションごとにそれを覚えていますか?

どんな助けでも大歓迎です。

4

1 に答える 1

3

コメントで述べたように、必要な機能を提供するこのモジュールを見ることができます。

https://github.com/smindel/silverstripe-GridFieldAddOns/blob/master/docs/en/GridFieldUserColumns.md

ドキュメントから:

次のコードを mysite/_config.php の最後に追加するだけです

Member::add_extension('GridFieldUserColumnsExtension');
Object::useCustomClass('GridFieldConfig_RecordEditor', 'GridFieldConfig_ExtendedRecordEditor');
Object::useCustomClass('GridFieldConfig_RelationEditor', 'GridFieldConfig_ExtendedRelationEditor');

列セレクターのスクリーンショット

于 2016-03-11T22:37:01.420 に答える