2010-03-04 4 views
1

자바 스크립트 파일에 대한 참조를 추가 한 주 PHP 파일의 모듈을 만들고 있습니다. Javascript 파일에서 div에 대한 초기 컨텐트를 얻기 위해 Ajax 게시를 수행하는 DOM 준비에 대한 jQuery 호출을 수행합니다. 그것이 게시하는 URL은 내 모듈의 일부인 다른 PHP 파일 (gateway.php)입니다. (이 gateway.php는 내용을 얻기 위해 원격 서버를 호출합니다.)Joomla 모듈에서 jQuery ajax를 사용하는 방법

일반적으로 모듈 파일에는 직접 액세스가 금지되어 있습니다. 직접 액세스를 금지하는 코드 행을 주석 처리 할 수 ​​있습니다. 그것도하고, 내 gateway.php Joomla에서 모든 것을 완벽하게 액세스 할 수없는 것 같은데 몇 가지 이유로 보인다. 예를 들어, gateway.php에는 helper.php 파일이 필요합니다. 나는 단지하고있다

require_once(dirname(__FILE__) . DS . 'helper.php'); 

내가 말할 수있는 것은 파일을 포함하는 표준 방법이다. 그러나 DS가 Joomla에서 정의 된 값으로 변환되지 않는다는 오류가 표시됩니다. DS를 문자열 값처럼 취급합니다. 내가

require_once(dirname(__FILE__) . '/helper.php'); 

로 변경하는 경우

는 내가 직접 액세스 금지 오류가 발생합니다.

기본 PHP 모듈 파일이 아닌 다른 Joomla 모듈에서 Ajax를 사용하는 방법이나 올바른 방법은 무엇입니까?

답변

1

절대적으로 달리해야하는 특별한 이유가있는 경우가 아니면 Joomla의 index.php 파일을 통해 항상 전화를해야합니다. Joomla와 100 % 독립적 인 경우가 아니면 개별 PHP 파일을 호출하지 마십시오. 이유는 Joomla의 모든 .php 파일의 상단에 defined('_JEXEC') or die('Restricted access');에 대한 호출입니다 : Joomla에 진입 점의 수를 최소화하고 싶습니다.

Joomla에서 데이터를 검색하는 AJAX/JSON 호출을 만들려면 모듈과 함께 사용할 수 있도록 작은 구성 요소를 만들어야합니다. 이 블로그 게시물을 몇 달 전에 썼습니다 : http://www.designvsdevelop.com/the-way-not-to-do-javascript-in-joomla

관련 문제