Определить текущий ID пользователя с помощью Community Builder для joomla 3.3.1


Я использую бесплатный стандарт Community Builder с joomla 3.3.1 и пытаюсь получить данные от текущего пользователя, в основном его идентификатор ID в таблице пользователей в базе данных. Это потому, что я хочу использовать его позже для чтения всей информации о пользователе в базе данных.

Я попытался с помощью "установить CB $user object", но я не знаю, где написать этот код и как именно его использовать.

Любая идея?. Спасибо


person rafaoc    schedule 31.07.2014    source источник
comment
Где вы пишете код, полностью зависит от вас. Все зависит от того, где вы хотите использовать эту информацию. Я бы также предложил вместо этого использовать объект пользователя Joomla.   -  person Lodder    schedule 31.07.2014
comment
Привет @Lodder, я пытался использовать объект пользователя Joomla, но не могу получить идентификатор текущего пользователя. Возможно, у вас есть пример кода?   -  person rafaoc    schedule 31.07.2014


Ответы (1)


Лучше всего использовать объект пользователя Joomla.

Для этого можно использовать следующее:

$user = JFactory::getUser();
echo $user->id;
echo $user->name;

Для получения дополнительной информации о возможностях пользовательского объекта Joomla прочитайте следующее:

http://docs.joomla.org/Accessing_the_current_user_object

Обновлять:

Чтобы импортировать фреймворк Joomla, добавьте в свои пользовательские файлы PHP вверху следующее:

define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', realpath(dirname(__FILE__)) );

require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );

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

Я считаю, что строка 3 верна, поскольку ваш PHP-скрипт находится в корневой папке, однако, если вы переместите его в другой каталог, вам придется обновить строку 3 кода выше.

Надеюсь это поможет

person Lodder    schedule 31.07.2014
comment
Я попытался записать в корневую папку файл php с помощью ‹?php $user = JFactory::getUser(); echo ‹p›Ваше имя — {$user-›name}, ваш адрес электронной почты — {$user-›email}, а ваше имя пользователя — {$user-›username}‹/p›; ?› Но я получаю следующую ошибку: «Класс JFactory» не найден - person rafaoc; 02.08.2014
comment
Это потому, что вам нужно импортировать библиотеку Joomla, если вы хотите использовать код Joomla в файлах, которые не принадлежат Joomla;) Я обновил свой ответ - person Lodder; 03.08.2014