2011-03-21 6 views
0

최근 사용자 정의 Joomla 구성 요소를 사용 중입니다. 그리고 Joomla 프레임 워크의 일부가 아닌 일부 외부 스크립트에서 Joomla 핵심 기능이 필요합니다.외부 스크립트의 Joomla 코어 기능

Joomla 구조의 일부가 아닌 구성 요소 및 해당 사용자 정의 클래스가 있다고 가정 해 보겠습니다.

www.url.com/components/com_customcomp/custom_classes/some_class.php 

그래서, 나는 그것으로 줌라 클래스를로드

if (!defined('JPATH_COMPONENT') or !constant('JPATH_COMPONENT')){ 

     define('_JEXEC', 1); //let direct access 

     define('JPATH', $_SERVER['DOCUMENT_ROOT']); 
     define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT'] . '/administrator'); 
     define('DS', DIRECTORY_SEPARATOR); 
     define('JPATH_COMPONENT', JPATH_BASE.DS.'components'.DS.'com_customcomp'); 

     //load joomla framework 

     require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
     require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 
     require_once(JPATH_LIBRARIES .DS.'joomla'.DS.'factory.php'); 

     $mainframe =& JFactory::getApplication('site'); 
     $mainframe->initialise();    
    } 

모든 JURI처럼 :: 루트, 일부의 Joomla 핵심 기능을 제외하고 잘 작동(); 반환

www.url.com/components/com_customcomp/custom_classes 

대신에 : JRoute

www.url.com/ 

는 또한 몇 가지 이상한 결과를 제공 :: _() 등

문제가 무엇입니까? 그 기능을 제대로 작동시키는 방법?

귀하의 도움에 감사드립니다.

답변

1

전에 비슷한 문제가있었습니다 ... Joomla의 대체 엔트리 포인트를 만들었습니다. 네이티브 클래스는 "해결"할 때 나쁜 결과를주는 기본값을 사용합니다 ...

유일한 방법은 JURI object with correct uri을 새로 만드는 것입니다.

$uri = JFactory::getURI('correct uri'); 
관련 문제