2012-02-19 8 views
0

내 응용 프로그램 (Webroot의 하위 디렉토리에 있음)에는 범주 유형 조회를위한 모델이있는 관리 영역이 있습니다. 메인 프론트 엔드 애플리케이션에는 관리자가 정의한 조회에 대한 참조가있는 다른 모델이 있습니다. 예 : 모델 비용이 프런트 엔드에 정의되어, 그것은 관리/lib 디렉토리/모델에 정의 된 모델 조회의 서브 클래스입니다 ExpenseType을 (모델에 참조가 :Pathfinder : Frontend에서 Admin 모델에 액세스

webroot 
    My atk4 project 
    -admin 
     -lib 
      -Model 
       -Model_Lookup with subclass ExpenseType 
    -atk4 
    -atk4-addons 
    .. 
    -lib 
     -Model 
      -Model_Expense with reference to model ExpenseType 
    ... 

사용하여 비용 페이지를 CRUD 열기 ->로 setModel (' 비용 ') 나는 "치명적인 오류"가 발생합니다 - Model_ExpenseType을 찾을 수 없습니다. 그래서 (내가 atk4로 시작하는 것부터) 내가 PathFinder에 addLocation을 할 필요가 있다고 이해하지만 Frontend 모델이 Admin에 액세스 할 수 있도록 어떻게해야할지 모르겠다. 모델.

+0

이 문제를 해결하지만, 작업 솔루션을 구현되지 않음 : lib 디렉토리/모델에 관리자/lib 디렉토리/모델에서 모든 모델을 움직였다. 비용 페이지에서 여전히 Model_Lookup의 하위 클래스 인 Model_ExpenseType을 찾을 수 없습니다. 비용 참조에 대해 Model_ExpenseType을 Model_Lookup으로 바꿨을 때 모두 정상적으로 작동했습니다. 그래서 Model_ExpenseType을 별도의 파일로 옮겼으므로 어떤 접근 방식이 최선인지는 확실하지 않지만 모든 것이 예상대로 작동합니다. – user1207810

답변

0

은 insid

$this->pathfinder->addLocation('admin',array(
    'php'=>'lib' 
)); 

시도 가끔 이런 식으로 할

+0

고마워요! 내가별로 멀지 않았다는 것을 알았습니다. $ this-> pathfinder-> addLocation 대신 $ this-> addLocation을 가졌습니다. 한 가지만 안개가 낀다 - Frontend에서 정의 된 Expense 모델은 별도의 파일에있을 때 ExpenseType (Admin에 정의 된 Lookup의 하위 클래스) 만 찾으면서 Model Material (Lookup의 다른 하위 클래스)은 Lookup에서 정의 된 Model MaterialType Lookup 모델이 Admin 또는 Frontend에 관계없이 .php. 가야할 길은 무엇입니까? 모델 하위 클래스를 항상 자신의 파일에 배치해야합니다.) 감사합니다. – user1207810

+0

각 클래스는 해당 파일에 있어야합니다. 또한 파일의 이름을 바꾸고 오류 출력을 검사하면 어떤 위치가 검색되고 있는지 알려주고, 아마도 위치 순서가 다르기 때문에 다른 파일이 먼저 발견 될 수 있습니다. – romaninsh

0

전자는 API : 초기화() :

given: webroot/lib/Model 

cd webroot/admin/lib 
ln -s ../../lib/Model . 
관련 문제