Как получить доступ к объекту пользователя в joomla 3.9
Я хочу получить идентификатор пользователя в iframe на сайте joomla (используя виртуальные хосты). Я использую Joomla 3.9.3 с wamp 3.17 под win 10 pro (64 бит). мой сайт находится в папке 'clib по адресу www.
Как указано на многих форумах, мой php-файл с использованием iframe начинается со следующего кода:
````
<?php define( '_JEXEC', 1 ); define( 'DS', DIRECTORY_SEPARATOR ); define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] ); require_once( JPATH_BASE . '/clib/includes/defines.php' ); require_once( JPATH_BASE . '/clib/includes/framework.php' ); require_once( JPATH_BASE . '/clib/libraries/joomla/factory.php' ); $mf1 = JFactory::getApplication('site'); $user = JFactory::getUser(); $uname=$user->name; $uid=$user->id; ?>
````
Это работает при доступе к сайту с компьютера localhost, но не при доступе из локальной сети. Все, что мне нужно, - это идентификатор пользователя.
Что я уже пробовал:
Это работало раньше, когда сайт был в корневой папке с использованием wamp 2.4 на win 8.2 и joomla 3.4.0 после обновления компьютера до win 10 pro, wamp 3.1.7 & joomla 3.9.4, тот же код больше не работает. Я пробовал изменить путь, указанный для 'defines.php', 'framework.php' & 'factory.php-безрезультатно.
Gerry Schmitz
Запустите старую конфигурацию на Win 10, а затем конвертируйте ее ... по кусочку за раз.
Member 10118655
Я уже пробовал. Сайт не восстанавливается должным образом на более старой joomla 3.4.0 из-за ошибки в резервном копировании (взятом с помощью akeeba). У меня не было другого выбора, кроме как начать все заново. Теперь все работает нормально, кроме iframe, где требуется идентификатор пользователя, используя приведенный выше код. Странно то, что код работает при локальном входе в систему на машине localhost, но не из локальной сети.