Соединение к БД Joomla из внешнего файла

Есть ситуация, когда нужно прочесть из БД Joomla из таблицы какого-то модуля данные, при этом есть необходимость прочесть данные в отдельный файл из которого они загружаются в интерфейс через Ajax запрос посредством JavaScript/jQuery. Ниже приведен код серверной и клиентской части для реализации данного взимодействия.

<?php
define( '_JEXEC', 1); //  This will allow to access file outside of joomla.
//defined( '_JEXEC')  or die( 'Restricted access' );// Use this if you wanna access file only in Joomla.
define( 'DS', DIRECTORY_SEPARATOR );
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT'] . DS . '');
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
//create application
$mainframe = &JFactory::getApplication('site');

function getField($file_alias){
    // Get a db connection.
    $db = JFactory::getDbo();
    // Create a new query object.
    $query = $db->getQuery(true);
    // Select all records from the user profile table where key begins with "custom.".
    // Order it by the ordering field.
    $query->select($db->quoteName(array('file_id', 'file_title', 'file_alias', 'url_download')));
    $query->from($db->quoteName('#__jdownloads_files'));
    $query->where($db->quoteName('file_alias') . ' LIKE '. $db->quote($file_alias));
    //$query->order('ordering ASC');
    // Reset the query using our newly populated query object.
    $db->setQuery($query);
    // Load the results as a list of stdClass objects (see later for more options on retrieving data).
    $results = $db->loadObjectList();
    return  $results[0];//Данные потом получить в виде свойств объекта ClassName::getFieldDocument($fileName, $userId)->fieldName
}

$arrData = array(
                    "file_alias"=>$_REQUEST['file_alias'], 
                    "url_download"=>getField($_REQUEST['file_alias'])->url_download,
                    "file_id"=>getField($_REQUEST['file_id'])->url_download,
                    "file_title"=>getField($_REQUEST['file_id'])->file_title
                );
echo json_encode($arrData);<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1">​</span>
    function readPrices(data){
        var jsonString = $.ajax({
            url: "server.php", 
            data:data,
            dataType:'JSON', 
            async: false,  
            success: function(data){}
         }).responseText;
        return JSON.parse(jsonString);
    };
    //
    var url = "my-url-data";
    var jsonData = readPrices({"file_alias":url});
    console.log(jsonData);

 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Отправить ответ

Оставьте первый комментарий!

Notify of
avatar