|
|
Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии uCoz API: Аватар пользователя, добавившего материал (Модуль FAQ) |
uCoz API: Аватар пользователя, добавившего материал |
Код <script type="text/javascript"> if( $UID$ != '0' ){ var str='$UID$'; } $.get( 'http://mysite.ru/api/index/8-'+str+'?apikey=KEY', function(data){ var mydata = new Array(); $('name', data).each(function(){ mydata[$(this).text()] = $(this).next().text(); }); //$('.avatar').html('<img src="'+mydata['USER_AVATAR']+'" />'); $('.avatar').html('<b>'+mydata['USER_ID']+'</b>'); }, 'xml' ); </script> Изначально делал переменной $PROFILE_URL$ с методом str.substring() и вырезал первые 22 символа, до ID пользователя, но так проще. Код вставляю в вид материалов модуля FAQ. Цель: вывод аватара пользователя, добавившего вопрос. Что происходит сейчас: Например есть 3 вопроса. Один вопрос добавил пользователь с ID 1, второй и третий с ID 1349. Скрипт выводит аватар в материале то пользователя ID 1 (причем все материалы в его аватаром), иногда (и чаще всего) выводит во всех материалах аватар пользователя с ID 1349. Вот я не знаю, как решить проблему... Может быть как-то через переменную $NUMBER$ (порядковый номер материала) и циклом в JavaScript? Честное слово, не могу додумать. С PHP силен, а с JavaScript на "вы". |
Abramov7,
Код $('.avatar').html('<b>'+mydata['USER_ID']+'</b>'); Замените на Код $('.avatar$UID$').html('<b>'+mydata['USER_ID']+'</b>'); В коде самого элемента также произведите замену значения атрибута class Код class="avatar" На Код class="avatar$UID$" Не оказываю поддержку посредством ЛС/ICQ/Skype/AIM/XMPP/E-mail.
|
JonMagon, спасибо. Протестирую Ваш вариант.
Пока я упростил действие до одной строчки кода: Код <script type="text/javascript">$('.avatar').load('/index/8-$UID$ .user_avatar > img');</script> Но это не есть комильфо. Спасибо за помощь! Сообщение отредактировал Abramov7 - Суббота, 05 Апр 2014, 20:22:22
|
| |||
| |||