Подключить приложение Laravel к Joomla - PullRequest
1 голос
/ 19 июня 2020

Я пытаюсь подключить свое приложение Laravel к моему экземпляру Joomla 3 на том же сервере. У меня есть вызов ajax в Laravel, который отправляется в файл Laravel контроллера (PHP), но я получаю сообщение об ошибке:

Class 'App \ Http \ Controllers \ JFactory 'не найден в ../public_html/webapp/app/Http/Controllers/JoomlaController.php:12

Думаю, мне не хватает чего-то простого.

Вызов ajax выглядит так:

$.ajax({
        url: '{{ url() }}/settings/save', 
        type: "POST",
        dataType:'text', 
        data: "test",
        success: function(data) {
                console.log("posted: " + data);
        },
        error: function(){
                console.log("failure posting settings");
        }
 });

, и у меня есть указанный выше URL-адрес, перенаправленный на JoomlaController. php, который выглядит следующим образом:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__) .'/../../../../' ));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe = JFactory::getApplication('site');


class JoomlaController extends Controller {



public function saveSettings(Request $settings) {

    $user = JFactory::getUser();
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);

    $field = $db->quoteName('value') . ' = ' . $db->quote($settings);
    $condition = $db->quoteName('item_id') . ' = ' . $user->get('id');
    $table = $db->quoteName('nicqb_fields_values');
    $columns = array('field_id','item_id', 'value');
    $values = array('1', $user->get('id'), '\''.$settings.'\'');

        $query
            ->insert($table)
            ->columns($db->quoteName($columns))
            ->values(implode(',', $values));
    }

    $db->setQuery($query);

    $result = $db->execute();

}

}

?>

Заранее спасибо .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...