2013-03-16 2 views
1

메신저 사용하여 케이크에서 찾을 수없는, 지금은, 난 내 default.ctp에서 사용하기 위해 약간 수정 된 페이지 컨트롤러 원하는 한 난치명적인 오류 : 클래스 'PagesController은'약간의 시간에 대한

App::uses('PagesController', 'Controller'); 
로 가져

또는

App::import('Controller', 'Pages'); 

내 로컬 호스트 XAMPP에 모두 작업도 openshift에 웹 서버. 나는 무엇이든지, 나는 치명적인 오류가 발생, 클래스를 찾을 수 없습니다. 2 시간 동안이 문제를 인터넷 검색하고, 여기 벽을 치는 것처럼 느껴집니다. 제발 도와주세요 :)

답변

0

나는이 호출을 피하고 CakePHP 규칙을 사용하려고합니다. 로컬 XAMPP 복사본과 OpenShift 복사본의 차이점은 아마도 다른 버전의 CakePHP를 실행하고 있기 때문일 수 있습니다. 그러나 규칙을 따를 지 여부는 문제가되지 않습니다.

Foler app/View/Pages에서 PagesController를 사용하여 모든 것을 저장하는 것이 가장 좋습니다. 그런 식으로 CakePHP가 모든 가져 오기, 요구, 라우팅 등을 처리합니다. 이외에도 OpenShift의 응용 프로그램 경로는/php/app/(XAMPP/app /와 반대)임을 기억하십시오. 사용자 지정 컨트롤러가 있으면 문제가 발생할 수 있습니다. 희망이 도움이!

편집 : 방금 default.ctp로 레이아웃 파일이라는 것을 알았습니다. 나는 개인적으로 레이아웃에서 컨트롤러를 호출하는 것을 좋아하지 않는다. 나는 이것을 위해 요소 나 도우미를 사용하는 것을 선호한다. 또한, PagesController는 실제로 사이트 전체 레이아웃에 포함되는 것이 아닙니다./app/View/Pages 폴더에있는 파일을위한 것입니다.

+0

여기서 작동하며 모든 페이지에서 원하므로 기본적으로 레이아웃에 추가해야합니다. –

+0

후속 조치로 필요한 도우미를 처리 할 수 ​​있는지 헬퍼 문서를 확인하십시오. http://book.cakephp.org/2.0/ko/views/helpers.html – Steven

0

오케이, 대신 requestAction을 사용했는데 이것이 작동합니다. :) 비슷한 문제를 해결하려면 $ pages = $ this-> requestAction ('pages /');

필요할 때마다 'foreach'하여 $ pages 배열을 만듭니다. 중요! 페이지 (이 경우 컨트롤러 pagesController와 function 'index')를 생성하는 컨트롤러의 함수에서 보통 작성한 $ pages 객체를 반환하는 것을 잊지 않고 '설정'하지 않습니다. :)

관련 문제