Новости Joomla

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

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Помогите в реализации сабжа.
Все мелочи добавлены, в настройках выбор работает, также уже работает ссылка на профиль, но вот аватарка никак не выводится, где-то ошибка. Я в PHP не ас поэтому писал на угад. Код взят от изъятия аваторок у IdoBlog.
Подскажите в чем моя ошибка.

Код
case 'joomunity':
if (count($users)) {
       $db->setQuery('SELECT user_id, user_picture FROM #__joom_users WHERE user_id in (' . implode(',', $users)  . ')');
       $avatars = $db->loadObjectList('user_id');
unset($users);
} else {
$avatars = array();
}

for ($i=0,$n=count($comments); $i < $n; $i++) {
$userid = (int) $comments[$i]->userid;

// profile link
$comments[$i]->profileLink = $userid ? JRoute::_('index.php?option=com_joomunity&cmd=profile.view.' . $userid) : '';

//avatar
       if (isset($avatars[$userid]) && $avatars[$userid]->avatar != '') {
$comments[$i]->avatar = plgJCommentsAvatarImg($mainframe->getCfg('live_site'). '/components/com_joomunity/files/avatars/'. $avatars[$userid]->avatar);
} else {
$comments[$i]->avatar = '';
       }
}
unset($avatars);
break;
« Последнее редактирование: 15.04.2010, 14:33:00 от Toha123 »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #1 : 15.04.2010, 14:28:08 »
Замените строчку:

Код: php
$db->setQuery('SELECT user_id, user_picture FROM #__joom_users WHERE user_id in (' . implode(',', $users)  . ')');
на
Код: php
$db->setQuery('SELECT user_id, user_picture as avatar FROM #__joom_users WHERE user_id in (' . implode(',', $users)  . ')');
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #2 : 15.04.2010, 14:32:42 »
smart! Человечище! Спасибо за быстрый ответ, все пашет пока)). Проблема решена, решение может пригодится кому-то. Спасибо.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #3 : 15.04.2010, 14:33:59 »
Я добавлю этот код в следующую версию плагина JComments Avatar. Спасибо!
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #4 : 15.04.2010, 15:26:46 »
Есть еще проблемка, функция ('live_site') неправильно определяет путь во фрейме или поп-апе, может я что напортачил но все же, нужна замена этой функции. Чем можно заменить и как будет выглядеть эта строка

Код
$comments[$i]->avatar = plgJCommentsAvatarImg($mainframe->getCfg('live_site'). '/components/com_joomunity/files/avatars/'. $avatars[$userid]->avatar);
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #5 : 15.04.2010, 15:43:22 »
Есть еще проблемка, функция ('live_site') неправильно определяет путь во фрейме или поп-апе, может я что напортачил но все же, нужна замена этой функции.
замените $mainframe->getCfg('live_site') на JURI::base(true)
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #6 : 15.04.2010, 16:04:57 »


В общем тот же результат. Может так лучше будет понятно.  В ice gallery есть функция popup окна, я ее заменил rocbox

код на вызов такой

Код
function makePopupLink(&$image,$PageNo,&$layout,$gal,$embed) {
global $ice,$icenv;
$size = array(0,0);
if ($ice->isImage($image->_type)) {
if ($image->_xlink=='') {
if (!$gal) $c_dir = $image->getDir(); else $c_dir = $ice->_gallery->_dir;
if ($c_dir) {
$size = @getimagesize($icenv->abs.'/'.$icenv->cfg['imagepath'].$c_dir.'/'.$image->_viewsize);
}
} else $size = @getimagesize($image->_xlink);
if ($size===false) $size = array(0,0);
}
$lnk = $icenv->live."/components/com_ice/view.php?popup=".($embed?'2':'1')."&amp;Itemid=".$icenv->itemid."&amp;PageNo=$PageNo&amp;hit=1&amp;vwidth=".($layout->_mediaWidth-($layout->_scroller?40:20))."&amp;imgid=".$image->_id."&amp;q=".$icenv->_name;
$call = "a rel=\"rokbox[800 650]\" href=\"$lnk\"";
return $call;

}

может тут суть проблемы
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #7 : 15.04.2010, 16:17:32 »
Скажу честно, времени разбираться с Joomunity у меня нет, но функция JURI::base(true) однозначно возвращает адрес сайта, а судя по логике, аватары лежат относительно корня сайта, поэтому я не вижу никаких причин не работать.
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #8 : 15.04.2010, 16:23:57 »
Все же спасибо за помощь, попробую сам догнать.
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #9 : 15.04.2010, 17:48:02 »
Еще один вопрос. Насколько плохо вывести путь абсолютный, и как поменять направления слэша а то при выводе они смотря в другую сторону?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #10 : 15.04.2010, 17:57:51 »
Еще один вопрос. Насколько плохо вывести путь абсолютный, и как поменять направления слэша а то при выводе они смотря в другую сторону?
зачем плагину аватров абсолютный путь? он с файлами не работает, а только делает ссылки на файлы, а в ссылках правильные слеши...
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #11 : 19.04.2010, 16:21:50 »
Полный код для интеграции который у нас получился:

Код
case 'joomunity':
if (count($users)) {
        $db->setQuery('SELECT user_id, user_picture as avatar FROM #__joom_users WHERE user_id in (' . implode(',', $users)  . ')');
        $avatars = $db->loadObjectList('user_id');
unset($users);
} else {
$avatars = array();
}

for ($i=0,$n=count($comments); $i < $n; $i++) {
$userid = (int) $comments[$i]->userid;

// profile link
$comments[$i]->profileLink = $userid ? JRoute::_('index.php?option=com_joomunity&cmd=profile.view.' . $userid) : '';

//avatar
        if (isset($avatars[$userid]) && $avatars[$userid]->avatar != '') {
//$comments[$i]->avatar = plgJCommentsAvatarImg($mainframe->getCfg('absolute_path'). DS . 'components' . DS . 'com_joomunity' . DS . 'files' . DS . 'avatars'. DS . $avatars[$userid]->avatar);
$comments[$i]->avatar = plgJCommentsAvatarImg(JURI::base(true). '/components/com_joomunity/files/avatars/' . $avatars[$userid]->avatar);
} else {
$comments[$i]->avatar = '';
        }
}
unset($avatars);
break;

P.S. Решение моей проблемы лежит в недрах ice gallery, поэтому код считаю рабочим. и вопросик. Количество запросов к бд будет примерно равно количеству комментов на странице или нет? Просто в модуле допустим Random user количество равно лимиту вывода аваторок. 
*

Toha123

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: JComments Avatar plugin и аватары из joomunity
« Ответ #12 : 19.04.2010, 18:09:26 »
Цитировать
Есть еще проблемка, функция ('live_site') неправильно определяет путь во фрейме или поп-апе, может я что напортачил но все же, нужна замена этой функции.

Случайно нашел решение своей проблемы. Помог sh404sef)), указав что переменная $live_site в файле configuration.php у меня пуста. Теперь аватарки у меня появляются везде где надо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jcomments на странице категории?

Автор romagromov

Ответов: 5
Просмотров: 2590
Последний ответ 12.12.2022, 17:01:38
от sivers
Отображение аватаров из JomSocial в JComments

Автор smart

Ответов: 33
Просмотров: 16544
Последний ответ 20.07.2020, 21:31:50
от darkknight
jComments + AlptaUserPoints Добавить текст в Подробности

Автор Nabla

Ответов: 3
Просмотров: 5155
Последний ответ 22.06.2020, 14:14:08
от Nabla
Интеграция JComments с SP Page Builder

Автор Proaqua

Ответов: 5
Просмотров: 4076
Последний ответ 14.06.2020, 11:53:38
от xpank
Jcomments vs. SP Page Builder

Автор angry_ded_mazay

Ответов: 25
Просмотров: 9780
Последний ответ 14.06.2020, 09:25:28
от faritk