2013-09-25 3 views
0

저는 CakePHP에서 여러 프로젝트를 가지고 있으며 일반적인 코드를 플러그인으로 옮기고 별도의 GIT 저장소를 사용하고자합니다.CakePHP, 확장형 플러그인 생성

예를 들어, 사용자, 그룹 및 권한에 대한 MVC가 포함 된 UserManager 플러그인을 만들었습니다.

내 문제는 : 다른 프로젝트가 플러그인에서 모델과 다른 (추가) 관계가 있음을 나타냅니다. 예를 들어, 하나의 프로젝트에 '사용자 belongsTo 위치'가 있어야합니다.

저는 이것을 올바르게 설정하는 방법이 혼란 스럽습니다. 매뉴얼은 플러그인 뷰를 덮어 쓰는 방법을 알려주지 만, 모델과 컨트롤러로 어떻게 수행되는지는 알려주지 않습니다.

어떻게 이런 일을 할 수 있습니까?

+0

정확한 CakePHP 버전을 언급하는 것을 잊지 마십시오. – ndm

답변

0

AppModelUserManagerAppModel과 같이 이미 플러그인 클래스를 확장하고 필요한 연결을 재정의/추가 할 수 있습니다. 여기

http://book.cakephp.org/2.0/en/plugins.html#plugin-models

는 기본 ( User라는 플러그인에 사용자 클래스를 가정) 예제 : 경우에

App::uses('User', 'UserManager.Model');  

class AppUser extends User 
{ 
    public $belongsTo = array('Location'); 
} 

또는 create the associations dynamically 유지해야 기존이 있습니다

class AppUser extends User 
{ 
    public function __construct($id = false, $table = null, $ds = null) 
    { 
     parent::__construct($id, $table, $ds); 

     $this->bindModel(array('belongsTo' => array('Location'))); 
    } 
}