2016-08-22 4 views
1

私はモデルadminでモデルを管理していますが、gridfieldの下に説明を追加したいと思います。通常これは設定によって実現されます->setDescription('Note in here')ModelAdminで管理されているモデルに説明を追加するにはどうすればよいですか?

ModelAdminで管理されている場合はどうしますか?

<?php 

class FormDropdownModelAdmin extends ModelAdmin { 

    private static $managed_models = array(
     'HearAboutUsItem' 
    ); 

    private static $url_segment = 'form-dropdown-items'; 

    private static $menu_title = 'Form Dropdown Items'; 

} 

答えて

3

ModelAdminでgetEditFormメソッドをオーバーロードして、フィールドに説明を適用できます。

public function getEditForm($id = NULL, $fields = NULL) { 
    $form = parent::getEditForm($id, $fields); 

    $form->Fields()->fieldByName('HearAboutUsItem') 
     ->setDescription('This is my description'); 
    return $form; 
} 
+0

ありがとうございます。しかし、私は今このModeladminに複数のモデルを追加しました。別のモデルにアクセスするためにタブをクリックすると、 '致命的なエラー:非オブジェクト上のメンバ関数setDescription()を呼び出します.' - 私は、あなたのコードを複製して、フィールドByName( 'AnotherModel')のモデルを変更する - しかし、うまくいかなかった.ModelAdmin内の各管理対象モデルに説明を追加する方法に関するアイデアはありますか? – ifusion

+0

'AnotherModel'を '$ this-> modelClass'に置き換えてください –

+0

これは機能しますが、各モデルについて同じ説明が表示されます。それぞれのモデルに一意の説明が必要な場合は、どうやってそれを行うのですか? – ifusion

関連する問題