Email:
Mobile:
YouTube

В Joomla 3.8 есть удобная функция добавления различных полей для пользователя. Но нет функции, которая бы удобно их извлекала из профиля пользователя в различных местах нашей необъятной Родины нашей CMS. Код в статье поможет Вам выбрать все необходимые поля по USER_ID из двух таблиц одним запросом.

$user = JFactory::getUser();//берем пользовательский объект
$db = JFactory::getDbo();//берем БД
$query = $db->getQuery(true)
->select(array('a.*','b.title'))//выбирать будем два значения
->from($db->quoteName('#__fields_values','a'))//имя первой таблицы в БД
->where($db->quoteName('item_id').'='.$user->id)//где USER_ID - это ID пользователя, который мы получили ранее
->join('INNER', $db->quoteName('#__fields', 'b') . ' ON (' . $db->quoteName('a.field_id') . ' = ' . $db->quoteName('b.id') . ')');//здесь мы выбираем второе значение

$db->setQuery($query);
$rows=$db->loadObjectList();

Перебираем данные

foreach($rows as $z){
  $z=(array)$z;
  if($z['field_id']!=5)echo '<div class="clc_Ufields_'.$z['field_id'].'" data-val="'.$z['value'].'">'.$y.'</div>'."\n";
}
Вывод дополнительных полей в Joomla 3.8

Задать вопрос

Отзывов пока нет
Хостинг для Вашего сайта
от 7$/365 дней
подробнее