0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 541 Просмотров
*

ost007

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Можно ли в Joomla 3 получить id-пользователя во внешнем скрипте. Я хотел бы вызвать PHP-скрипт через AJAX.
Вижу, что люди уже пытались, например как здесь:
https://stackoverflow.com/questions/37089402/get-current-user-session-from-external-script-in-joomla-3-5

Но это для для версии Joomla 1.5, здесь (на этом форуме) тоже самое:
Имя текущего пользователя
Как получить имя пользователя?

Есть ли решение этого вопроса для Joomla 3 ? Я, честно говоря, не нашел.
« Последнее редактирование: 21.02.2020, 10:30:22 от ost007 »
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
Я, честно говоря, не нашел.
А вы пробовали? Проверили и не получилось? Почему в тройке не должно работать то, что еще в 1-й работало?
Код
$id = JFactory::getUser()->id;
На связи в телеге @sivers
*

ost007

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Во внешнем скрипте это не работает  :(
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
Во внешнем скрипте это не работает  :(
Сработает, если подключите в нем апи Joomla. Если внешний скрипт лежит в корне сайта, то в самом начале надо прописать вот это:
Код
<?php
define('_JEXEC', 1);
if (file_exists(__DIR__ . '/defines.php'))
{
include_once __DIR__ . '/defines.php';
}
if (!defined('_JDEFINES'))
{
define('JPATH_BASE', __DIR__);
require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_BASE . '/includes/framework.php';
$app = JFactory::getApplication('site');
если ж не в корне, то правильно указать пути к подключаемым файлам. Этот код - фрагмент из индекса Joomla, который в корне сайта, так что запомнить как подключать - не сложно. Следом за этим кодом в скрипте будут работать все классы Joomla.
На связи в телеге @sivers
*

ost007

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Спасибо огромное! Смоделировал ситуацию: на первый раз в корне разместил оба файла: HTML (со скриптом alax) и PHP-скрипт. В PHP-скрипте разместил Ваш код (+ $id = JFactory::getUser()->id; echo $id), чтобы возвращал id. Получилось!
Вы пишете:
Цитировать
если ж не в корне, то правильно указать пути к подключаемым файлам
Речь идет об этом: require_once JPATH_BASE . '/includes/defines.php'; ?
Здесь надо писать относительный путь от скрипта? Попробовал, пока не получилось. У меня скрипт в папке "abc".
*

draff

  • Гуру
  • 5184
  • 365 / 7
  • ищу работу
define('JPATH_BASE', __DIR__);
Здесь надо писать относительный путь от скрипта? Попробовал, пока не получилось.
Код
 define('JPATH_BASE', dirname(__DIR__));
*

Гоша_Компьютерный

  • Осваиваюсь на форуме
  • 48
  • 10 / 0
  • sitogon
Я бы лучше сделал бы небольшой системный плагин и обращался бы по AJAX к нему. Впрочем, ничего не мешает обращаться и к компоненту. Сразу к контроллеру
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
У меня скрипт в папке "abc".
Путь указывается от корня файловой системы до корня сайта. В вашем случае это:
Код
define('JPATH_BASE', __DIR__);
поменять на
Код
define('JPATH_BASE', realpath(__DIR__.'/..'));
На связи в телеге @sivers
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
define('JPATH_BASE', __DIR__);
define('JPATH_BASE', dirname(__DIR__));
Разве эти две записи не эквивалентны?
На связи в телеге @sivers
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Разве эти две записи не эквивалентны?
Нет, конечно.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

sivers

  • Завсегдатай
  • 1610
  • 223 / 0
Нет, конечно.
да, понял. перепутал с dirname(__FILE__)
На связи в телеге @sivers
*

ost007

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Большое спасибо за помощь! С праздником! Всё отлично работает!
« Последнее редактирование: 22.02.2020, 10:05:03 от ost007 »
*

pavelrer

  • Давно я тут
  • 603
  • 10 / 2
Большое спасибо за помощь! С праздником! Всё отлично работает!
Всем добра!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Регистрация пользователя

Автор Alex Walex

Ответов: 1
Просмотров: 150
Последний ответ 29.03.2021, 08:33:35
от Taatshi
Подписаться на категорию, пользователя, тег?

Автор romagromov

Ответов: 3
Просмотров: 122
Последний ответ 14.03.2021, 22:14:34
от IToro82
Получить переменную из configuration.php

Автор Osprey

Ответов: 10
Просмотров: 222
Последний ответ 26.02.2021, 11:51:14
от ProtectYourSite
Как получить пользовательские поля на странице результатов поиска?

Автор zahar_92

Ответов: 0
Просмотров: 59
Последний ответ 11.02.2021, 23:23:40
от zahar_92
Как получить материал на странице списка материалов через ajax?

Автор zahar_92

Ответов: 9
Просмотров: 227
Последний ответ 10.02.2021, 17:50:52
от effrit