2012-11-14 1 views
0

보안 파일 silverstripe 모듈을 SS3으로 업데이트하려고합니다. 그것에서은 스트라이프 Gridfield 관계

은, 저자는 다음과 같은 ComplexTableField을 사용

class SecureFileTokenPermissionDecorator extends DataExtension { 
     static $has_many = array(
      'AccessTokens' => 'SecureFileAccessToken' 
     ); 

    .... 

    $tokenList = new ComplexTableField(
     $this->owner, 
     'ContainedFileTokens', 
     'SecureFileAccessToken', 
     null, 
     null, 
     "File.ParentID = '{$this->owner->ID}'", 
     $sourceSort = null, 
     "JOIN File ON FileID = File.ID" 
    )); 
    $tokenList->setParentIdName('FolderID'); 
    $tokenList->setRelationAutoSetting(false); 

    .... 
    } 

은 내가 gridfField와 동일한 데이터/관계를 나타내는 가겠어요 궁금 해서요. 감사합니다. secure files 모듈의 소스 코드를 보면

답변

0

, 나는 다음과 같은 설정을 제안 :

$tokenList = $gridField = new GridField(
    'AccessTokens', 
    'Tokens', 
    $this->owner->AccessTokens(), 
    GridFieldConfig_RelationEditor::create() 
); 

이 게으른로드 목록 (필요한 때까지 조회되지 않음), 자동 페이지 매김 관계 게터에 직접 작동 . 나는 여기서 setParentIdName("FolderID")이 어쩌면 불필요한 것인지 잘 모르겠습니다. 주의 : 실제 코드베이스에서 시도하지 않았습니다.

상위 수준의 API를 이해하는 데 도움이 필요하면 GridField docs"datamodel" topic을 살펴보십시오.

SS3 모듈을 준비하는 데 도움을 주셔서 감사합니다! :)