2017-11-06 7 views
0

Joomla에서 관리자 구성 요소를 여러 가지보기로 작성했습니다. 하나의 뷰 '요약본'은 AJAX를 사용하여 '세부 사항'을 '원시'형식으로보고 페이지에 HTML을 삽입합니다 (훌륭한 기능). 이제 뷰 'recap'을위한 'pdf'형식을 사용하여 'raw'형식의 'details'뷰에서 얻는 것과 동일한 내용으로 채우기를 원합니다. PDF의 성공적인 "Hello World"를 가지고 있지만, PHP를 사용하여 '세부 정보'보기를 얻고 PDF를 채우는 방법을 결정할 수 없습니다.Joomla 관리자 구성 요소에서 curl 또는 file_get_contents 사용

나는 다음과 같은 시도 : 나는 형식을 지정할 수 없기 때문에 실패

$this->loadTemplate('details'); 

'원시', 줌라 오류 : 레이아웃 default_details를 찾을 수 없습니다.

file_get_contents('same url as successful AJAX call'); 

오류 로그와 함께 실패한 항목 : 스트림 열기 실패 : HTTP 요청 실패! HTTP/1.1 403 금지됨. 동일한 전략을 곱슬 곱슬로 사용하면 인증도 실패합니다. curl 호출로 인증 세부 정보를 전달할 수 있지만 현재 사용자의 사용자 이름과 해시 암호 만 얻을 수있는 것으로 보입니다. 나는 액세스 권한을 가진 사용자의 자격 증명을 하드 코드 할 수 있지만 안전하지 않은 것으로 보입니다.

이 시점에서 필자는 모든 코드를 default.php로 복제하고 데이터를 얻기 위해 모델을 활용할 수 있다고 생각하지만 좋은 프로그래머는 "NO !!!"라고 외치고 있습니다.

답변

0

질문을 이해하면 페이지에 HTML 및 PDF 인코딩을 제공하려고합니다. HTML보기는 클라이언트 측 AJAX를 사용하여 다른보기에서 데이터를로드하고이를 페이지에 표시합니다. PDF 파일을 서버 쪽에서 렌더링해야하기 때문에 PDF보기에서는이 기능이 작동하지 않습니다.

file_get_contents() 접근법이 맞지 않습니다. 파일 시스템에 저장된 정적 파일이 아닌 동적 콘텐츠에서 PDF 파일을 렌더링하려고합니다.

다른 뷰를 호출하여 클라이언트 측에서 처리하는 대신 PHP 코드에 포함시킬 수 있습니다. 이렇게하는 접근법은 다른 뷰가 구성 요소 또는 모듈인지 여부에 따라 다릅니다.