【问题标题】:Joomla core functions in external scripts外部脚本中的 Joomla 核心功能
【发布时间】:2011-03-21 18:48:08
【问题描述】:

最近我正在开发自定义 Joomla 组件。而且我需要一些外部脚本(不属于 Joomla 框架的一部分)中的 Joomla 核心功能。

假设我有组件及其自定义类,它们不是 Joomla 结构的一部分。

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

所以,我将 Joomla 类加载到其中:

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();               
    }

除了一些 Joomla 核心功能,一切都很好,比如 JURI::root();返回:

www.url.com/components/com_customcomp/custom_classes

代替:

www.url.com/

还有一些奇怪的结果给 JRoute::_() 等等。

有什么问题?如何使这些功能正常工作?

您的帮助将不胜感激。

【问题讨论】:

    标签: joomla joomla1.5 joomla-extensions joomla-sef-urls


    【解决方案1】:

    我之前遇到过类似的问题...我正在为 Joomla 创建替代入口点。 本机类使用默认值,在“解决”时会产生不好的结果......

    解决它的唯一方法是创建一个新的JURI object with correct uri

    $uri = JFactory::getURI('correct uri');
    

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 2014-01-07
      相关资源
      最近更新 更多