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

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Доброго времени суток!
Такой вопрос как можно по выводить значение полей пользователя которые были добавлены в "Профиль пользователя" ?
Я понимаю что можно написать запросы к базе, но в этом я не силён и думаю должен быть способ по проще.
Подскажите, поделитесь идеями или решением.
Спасибо !
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
Код: php-brief
<?php
$user = JFactory::getUser();
var_dump($user);
//Здесь ваши данные
?>

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Что то не получилось
У меня задача стоит так, надо вывести данные всех пользователей из определённого региона.
Регионы у пользователей добавляются как дополнительное поле "Профиль пользователя" таблица jos_user_profiles
Такой вопрос как вывести всех пользователей у которых в таблице jos_user_profiles поле profile_value равно id региона например 60

Если короче я в выпадающем списке выбираю регион, а мне выводит из таблицы jos_users почту и из таблицы jos_user_profiles телефон всех пользователь в этом регионе

Дайте хотя бы пример как вывести почту всех пользователь из таблицы  jos_users
И телефон всех пользователей из  jos_user_profiles

Спасибо большое !
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Код: php-brief
<?php
$user = JFactory::getUser();
var_dump($user);
//Здесь ваши данные
?>

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>

Дайте пример как вывести почту всех пользователь из таблицы  jos_users
И телефон всех пользователей из  jos_user_profiles
Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
Код: php-brief
<?php
$region_id=60;
jimport( 'joomla.user.helper' );
$db = JFactory::getDBO();
$sql = "SELECT a.user_id, b.email FROM #__user_profiles as a, #__users as b ";
$sql .= "WHERE a.profile_key='profile.region' and a.profile_value='\"$region_id\"' and b.id=a.user_id";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
$userProfile = JUserHelper::getProfile($user->user_id);
echo $user->email;
echo $userProfile->profile['phone'];
}
?>
Все e-mail
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT email FROM #__users";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo $user->email;
}
?>
Все телефоны
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo str_replace('"', '',$user->profile_value);
}
?>
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Все телефоны
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo str_replace('"', '',$user->profile_value);
}
?>

Спасибо Огромное Работает
Только вот проблема есть такая
некоторые данные выводит вот так "\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447 "
На форуме видел сообщение "http://joomlaforum.ru/index.php?topic=241816.0" но не понял в чём решение кроме того что менять хостера
но данные уже выводятся в таком виде как это можно исправить ?
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Подскажите как можно выводить данные из "Профиль пользователя" что бы они небыли закодированы в таком виде "\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447" ?
Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
Код: php-brief
echo json_decode('"\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447"');
//Иванович
Или так может
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo  json_decode($user->profile_value);
}
?>
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Спойлер
[свернуть]

Спасибо работает НО есть проблема в базе есть и не закодированы элементы
и получается там что если закодировано оно выводит, а если не закодировано то просто пусто, как от такого избавиться ?
Может как-то сделать проверку на то закодирован элемент или нет ?
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 726 / 7
  • Все начинается с Value
самое простое наверно так
Код: php-brief
$data =  json_decode($user->profile_value);
echo ($data ? $data : str_replace('"', '',$user->profile_value));
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
самое простое наверно так
Код: php-brief
$data =  json_decode($user->profile_value);
echo ($data ? $data : str_replace('"', '',$user->profile_value));

Огромное СПАСИБО ! Работает !
Вы меня выручили очень сильно !
*

benshee

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Ребят, а в каком файле то добавлять все это ? )
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
В плагине профилей или там где нужно, тоже можно вывести.
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

oblepiha

  • Новичок
  • 1
  • 0 / 0
Код: php-brief
<?php
$user = JFactory::getUser();
var_dump($user);
//Здесь ваши данные
?>

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>
Извиняюсь за свою безграмотность, но все таки вопрос задам.. нужно вывести в поле номер квартиры из поля профиля залогинившегося пользователя.. вывод поля я сделал, но он выводит первую попавшуюся квартиру в таблице, а не данного пользователя. Всю голову уже сломал
*

Genrih

  • Осваиваюсь на форуме
  • 13
  • 0 / 0

или могут быть здесь
Код: php-brief
<?php
jimport( 'joomla.user.helper' );
$userProfile = JUserHelper::getProfile();
print_r($userProfile); //глянь что здесь есть
?>

Выдало:
JObject Object ( [_errors:protected] => Array ( ) [id] => 566 [profile] => Array ( [address1] => [address2] => [city] => Краснодар [region] => [country] => [postal_code] => [phone] => [website] => [favoritebook] => [aboutme] => [dob] => ) )

как отсюда вывести [city] ?
*

Shustry

  • Гуру
  • 6436
  • 743 / 3
Наверное так:
Код: php
$userProfile[profile][city]
*

Genrih

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Наверное так:
Код: php
$userProfile[profile][city]

чет не выходит, выдало следующее:

JObject Object ( [_errors:protected] => Array ( ) [id] => 0 )
Notice: Use of undefined constant profile - assumed 'profile' in .../index.php on line 168

Notice: Use of undefined constant city - assumed 'city' in .../index.php on line 168

Fatal error: Cannot use object of type JObject as array in .../index.php on line 168
*

etoOH

  • Новичок
  • 1
  • 0 / 0
самое простое наверно так
Код: php-brief
$data =  json_decode($user->profile_value);
echo ($data ? $data : str_replace('"', '',$user->profile_value));

Здравствуйте! Подскажите пожалуйста, как этот код объединить с кодом из другого Вашего поста:
Спойлер
[свернуть]

Его использую в автозаполнении полей формы RSForm. Необходимо убрать кавычки и декодировать данные из профиля.


Есть ещё вопрос из этой же ветки.  Я воспользовался Вашим плагином выбора групп при регистрации, дабы упростить процесс, оставив всего два поля, - Имя и почту. Хотелось бы, чтобы перед заполнением формы не приходилось авторизовываться. в Форме есть одно из обязательных полей - е-маил. Уведомление администратору настроено таким образом, что передаёт user_id в скрытом поле, по которому предполагается вести статистику отправленных форм. Собственно есть такое пожелание, чтобы перед записью в базу, поле е-маил сравнивалось с базой пользователей, при наличии такого пользователя вставлялось в скрытое поле user_id  для отправки администратору и дописывалось в базу отправленных форм(идеально - на лету, то есть вписав в начале формы почту, доступные данные вносились бы в поля).  Хотя из соображений безопасности, думаю кроме id ничего не нужно автозаполнять...

Joomla 3.2.3, RSForm 1.4.0 rev.48

Коды в полях RSForm


 
Спойлер
[свернуть]


« Последнее редактирование: 11.05.2014, 14:38:29 от etoOH »
*

Сергей

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Код: php-brief
echo json_decode('"\u0418\u0432\u0430\u043d\u043e\u0432\u0438\u0447"');
//Иванович
Или так может
Код: php-brief
<?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.phone'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)
{
echo  json_decode($user->profile_value);
}
?>
Подскажите пожалуйста что нужно подправить в этом коде чтобы выводило информацию только конкретного пользователя по id, запутался совсем. Этот код работает но выводится вся информация полностью.
*

Сергей

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Уточню вопрос:
Cделал так:
 <?php
$db = JFactory::getDBO();
$sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.address1'";
$db->setQuery($sql);
$list = $db->loadObjectList();
foreach($list as $user)

{
$data =  json_decode($user->profile_value);   
echo ($data ? $data : str_replace('"', '',$user->profile_value));
}
?>
В админке есть таблица с информацией о пользователе, хочу в нее вывести данные из профиля (дополнительные поля в плагине "профиль пользователя", конкретно интересует поле address1)
вышеуказанный код работает но он напротив каждого пользователя выводит данные всех пользователей.
Как правильно прописать код чтобы каждому пользователю из списка подставлялась соответствующая информация из поля address1.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Руководство пользователя Joomla! 2.5 + 10 легких шагов к освоению Joomla! 3 (книги в pdf)

Автор Marques

Ответов: 66
Просмотров: 183429
Последний ответ 07.08.2020, 11:00:23
от AlexB
Определение города пользователя по IP

Автор ria_andy

Ответов: 8
Просмотров: 5319
Последний ответ 05.12.2019, 15:20:40
от nikolaevevge
Как подправить вывод таблички recaptcha на русском?

Автор busik

Ответов: 4
Просмотров: 629
Последний ответ 17.02.2019, 18:58:15
от busik
Админка (Менеджер пользователей), доп.колонка с ИП адресом пользователя

Автор Kodopik

Ответов: 0
Просмотров: 639
Последний ответ 28.01.2019, 19:08:50
от Kodopik
Вывод контента com_content материалов и категорий по id. Решение

Автор Fedor Vlasenko

Ответов: 16
Просмотров: 17309
Последний ответ 01.10.2018, 14:32:38
от Fedor Vlasenko