2016-07-14 2 views
3

GridField 상단에있는 CSV으로 내보내기 버튼을 ModelAdmin에 제거하려고합니다.SilverStripe CSV 내보내기 버튼을 제거합니다.

버튼을 만드는 클래스를 찾을 수없는 것 같습니다 (GridFieldExportButton?). GridField에 친숙하지 않은 버튼/"액션"을 채우는 함수가 있다고 생각합니다.

답변

6

관계에 대한 스캐 폴딩 GridField을 제거하려면 ...

class MyDataObject extends DataObject { 

    ... 

    private static $has_many= array(
     'OtherDataObjects' => 'OtherDataObject' 
    ); 

    ... 

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

     if($grid = $fields->dataFieldByName('OtherDataObjects')) 
      $grid->getConfig() 
       ->removeComponentsByType('GridFieldExportButton'); 

     return $fields; 
    } 

    ... 

} 

당신이 필드를 만들 때 다음 그냥이를 추가 GridField을하는 경우 ...

$gridField->getConfig()->removeComponentsByType('GridFieldExportButton'); 

당신이 찾고 있다면 데이터 객체 편집 양식 내에 있지 않은 그리드 필드의 경우 실제로는 ...

model_importers를 비워두면 역순으로 가져 오기가 제거됩니다 ...

class MyAdmin extends ModelAdmin { 

    ... 

    static $model_importers = array(); 

    ... 
} 
+0

내보내기 버튼이 아니라 가져 오기 기능을 없애는 것 같습니다. 또한 내가 사용자로부터 그것을 숨기고 싶기 때문에 또한 귀중한 방법입니다. – Faloude

+0

실제로! 실제로 묻는 버튼을 제거하도록 업데이트되었습니다! – Barry

+0

'MyFieldName'이 (가) DataObject 클래스 이름이어야합니까? – Faloude