Установка
1. В "Общих настройках" включите использование API.
2. Вставьте следующий код на "Странице материала и комментариев к нему" в том месте, где хотите увидеть вывод информации:
Код
<style>
#author_info{
display:inline-block;
margin:15px 0;
font-family:Arial,sans-serif;
}
.author_block{
display:flex;
align-items:center;
gap:12px;
padding:10px 14px 10px 10px;
background:#fff;
border:1px solid #eee;
border-radius:14px;
box-shadow:0 4px 15px rgba(0,0,0,.06);
transition:.25s ease;
}
.author_block:hover{
box-shadow:0 7px 22px rgba(0,0,0,.1);
transform:translateY(-2px);
}
.author_avatar{
width:52px;
height:52px;
flex:0 0 52px;
overflow:hidden;
border-radius:50%;
background:#f2f2f2;
}
.author_avatar a,
.author_avatar img{
display:block;
width:100%;
height:100%;
}
.author_avatar img{
object-fit:cover;
transition:.3s ease;
}
.author_block:hover .author_avatar img{
transform:scale(1.06);
}
.author_name{
display:flex;
flex-direction:column;
gap:4px;
min-width:0;
}
.author_name a{
color:#222;
font-size:15px;
font-weight:600;
line-height:1.2;
text-decoration:none;
transition:.2s ease;
}
.author_name a:hover{
color:#7657e8;
}
.author_name span{
display:block;
color:#999;
font-size:12px;
line-height:1.2;
}
@media(max-width:480px){
.author_block{
padding:8px 12px 8px 8px;
border-radius:12px;
}
.author_avatar{
width:46px;
height:46px;
flex-basis:46px;
}
.author_name a{
font-size:14px;
}
.author_name span{
font-size:11px;
}
}
</style>
<div id="author_info">
<div class="author_block">
<div class="author_avatar"></div>
<div class="author_name"></div>
</div>
</div>
<script>
var xml=$.ajax({
type:'GET',
url:'/api/index/8-<?substr($PROFILE_URL$, strrpos($PROFILE_URL$,"8-")+2)?>',
dataType:'xml',
async:false
}).responseText;
var userAvatar=$(xml).find('struct:first member:contains("USER_AVATAR")').find('string').text();
var userName=$(xml).find('struct:first member:contains("USER_USERNAME")').find('string').text();
var userGroup=$(xml).find('struct:first member:contains("USER_GROUPNAME")').find('string').text();
var userStatus=$(xml).find('struct:first member:contains("USER_STATUS")').find('string').text();
if(userAvatar=='')userAvatar='http://yraaa.ru/images/noavatar.gif';
$('.author_avatar').html('<a href="$PROFILE_URL$"><img src="'+userAvatar+'" alt=""></a>');
$('.author_name').html('<a href="$PROFILE_URL$">'+userName+'</a><span>'+userGroup+'</span> <span>'+userStatus+'</span>');
</script>
#author_info{
display:inline-block;
margin:15px 0;
font-family:Arial,sans-serif;
}
.author_block{
display:flex;
align-items:center;
gap:12px;
padding:10px 14px 10px 10px;
background:#fff;
border:1px solid #eee;
border-radius:14px;
box-shadow:0 4px 15px rgba(0,0,0,.06);
transition:.25s ease;
}
.author_block:hover{
box-shadow:0 7px 22px rgba(0,0,0,.1);
transform:translateY(-2px);
}
.author_avatar{
width:52px;
height:52px;
flex:0 0 52px;
overflow:hidden;
border-radius:50%;
background:#f2f2f2;
}
.author_avatar a,
.author_avatar img{
display:block;
width:100%;
height:100%;
}
.author_avatar img{
object-fit:cover;
transition:.3s ease;
}
.author_block:hover .author_avatar img{
transform:scale(1.06);
}
.author_name{
display:flex;
flex-direction:column;
gap:4px;
min-width:0;
}
.author_name a{
color:#222;
font-size:15px;
font-weight:600;
line-height:1.2;
text-decoration:none;
transition:.2s ease;
}
.author_name a:hover{
color:#7657e8;
}
.author_name span{
display:block;
color:#999;
font-size:12px;
line-height:1.2;
}
@media(max-width:480px){
.author_block{
padding:8px 12px 8px 8px;
border-radius:12px;
}
.author_avatar{
width:46px;
height:46px;
flex-basis:46px;
}
.author_name a{
font-size:14px;
}
.author_name span{
font-size:11px;
}
}
</style>
<div id="author_info">
<div class="author_block">
<div class="author_avatar"></div>
<div class="author_name"></div>
</div>
</div>
<script>
var xml=$.ajax({
type:'GET',
url:'/api/index/8-<?substr($PROFILE_URL$, strrpos($PROFILE_URL$,"8-")+2)?>',
dataType:'xml',
async:false
}).responseText;
var userAvatar=$(xml).find('struct:first member:contains("USER_AVATAR")').find('string').text();
var userName=$(xml).find('struct:first member:contains("USER_USERNAME")').find('string').text();
var userGroup=$(xml).find('struct:first member:contains("USER_GROUPNAME")').find('string').text();
var userStatus=$(xml).find('struct:first member:contains("USER_STATUS")').find('string').text();
if(userAvatar=='')userAvatar='http://yraaa.ru/images/noavatar.gif';
$('.author_avatar').html('<a href="$PROFILE_URL$"><img src="'+userAvatar+'" alt=""></a>');
$('.author_name').html('<a href="$PROFILE_URL$">'+userName+'</a><span>'+userGroup+'</span> <span>'+userStatus+'</span>');
</script>
API позволяет получать разную информацию о пользователе, в нашем случае мы получили ссылку на аватар (USER_AVATAR), полное имя (USER_USERNAME) и полное название группы пользователя (USER_GROUPNAME).
Рекомендуем по-своему оформить данный блок и перенести все стили в "Таблицу стилей (CSS)".
Примечание
Помимо включенного API, для работы скрипта необходима чтобы страница пользователей открывалась в текущем окне.
Настройте этот момент в настройках модуля "Пользователи".

0 комментариев
Присоединиться к обсуждению
Поделитесь мнением об этом материале — комментарий появится в списке слева сразу после отправки.