如何通过代码Joomla 1.7获取组件实例

时间:2013-09-12 10:34:14

标签: php joomla joomla1.7

我想从位于同一服务器内的Web服务中使用我的Joomla 1.7组件。

换句话说,我有另一个文件将被移动应用程序用来做东西。

我想使用joomla核心函数,也不必重复代码,也不必在数据库中直接插入绕过joomla并格式化它们以匹配“Joomla会做什么”。

现在我可以使用joomla获取DBO对象并进行查询,但我想使用我需要的每个组件。 例如,

<?php
    if (!defined('_JEXEC')) { define('_JEXEC', 1); }
    if (!defined('DS')) {  define('DS', DIRECTORY_SEPARATOR); }

    if (file_exists(dirname(dirname(__FILE__)) . '/defines.php')) 
    { 
        include_once dirname(dirname(__FILE__)) . '/defines.php'; 
    }

    if (!defined('_JDEFINES'))
    {
        define('JPATH_BASE', dirname(dirname(__FILE__)));
        require_once JPATH_BASE.'/includes/defines.php';
    }

    require_once JPATH_BASE.'/includes/framework.php';

    // Mark afterLoad in the profiler.
    JDEBUG ? $_PROFILER->mark('afterLoad') : null;
    $db = JFactory::getDocument()->getDBO();
    $query = $db->getQuery(true);
    $query->select('r.id');
    $query->from('#__asd as r');
    $query->join('LEFT', '#__xxx cc on cc.recipe_id = r.id');
    // Prepare where clause
    $query->where('r.published = 1');
    $query->group('r.id');
    $db->setQuery($query);
    $objectsList = $db->loadObjectList();
    $res = formatResult($objectsList);


function formatResult($obj)
{
    if($obj === NULL || !is_array($obj)){ return array('data' => 'Vuoto', 'code' => 0); }
    return array('data' => (array)$obj, 'code' => 1);
}
?>

编辑:更具体地说,我已安装(JFBconnect),我希望其功能可以从应用程序登录和注册用户。

0 个答案:

没有答案