2013-06-14 7 views
0

데이터베이스에서 정보를 채우는 새 모듈을 만들었습니다. 이 정보는 그리드 안에 표시됩니다. 특정 레코드가 클릭 라이트 팝업되면 display.new PHP 파일입니다 (showdetails.php) 라이트 박스에 할당됩니다.joomla에서 새 파일을 호출 할 수 없습니다.

<td><a class="modal" href="showdetails.php" rel="{handler: 'iframe', size: {x: 680, y: 370}}" >POPUP</a></td> 

POPup 잘 처리됩니다. 하지만 내부 팝업, 나는 "찾을 수 없습니다"오류가 발생하지 않습니다.

팝업 또는 외부 파일 액세스를 위해 따라야 할 규칙은 무엇입니까?

showdetails.php 코드 미만 함유

정의 ('_ JEXEC') 또는 다이; echo "Hello world";

답변

3

showdetails.php 파일이 줌라 프레임 워크를 사용하여로드되지 않은 경우, 상수 _JEXEC가 정의 스크립트가 die을하지 않습니다있다.

defined('_JEXEC') or die;을 사용하지 말고 다시 시도하십시오.

여전히 실패하는 경우 파일을 올바르게 참조하십시오.

편집 : 귀하의 의견에 따르면 나는 여기에 더 큰 문제가 있다고 생각합니다. showdetails.php에서 Joomla 함수를 사용하려면 먼저 Joomla 프레임 워크 전체를 초기화해야합니다. 그렇지 않으면 db 등을 사용할 수 없습니다. 일반적으로 이러한 팝업은 index.php?option=com_mycomponent&view=myview&layout=popup&tmpl=component과 같은 URL을 사용하여 구성 요소보기를로드합니다. 이렇게하면 Joomla 프레임 워크가로드되고 각 Joomla 기능에 액세스 할 수 있습니다. 기본적으로 Joomla에서는 출력을 위해 독립 실행 형 파일을 직접로드하지 않습니다. 모든 것은 index.php를 거쳐 거기에서로드됩니다.

+0

그 참조는 무엇입니까? 어떻게 joomla 프레임 워크는 showdetails.php 파일을로드 알아, 나는이 showdetails.php 어디서나 입력해야합니다. – Bharanikumar

+0

내가 정의한 ('_ JEXEC')을 제거하면 DB와 모든 joomla 연결과 활동이 느슨해지면 – Bharanikumar

+1

'('_ JEXEC') 또는 die;가 정의 된 것은 Joomla 파일이 프레임 워크에로드되었다는 보안 검사 일뿐입니다. 파일을 직접로드하면 프레임 워크 내에로드되지 않습니다. – Bakual

관련 문제