Romych
сожалею что ФО не впихнуть!
нужно заголовок стены вверху -посередине,
внизу под стеной - ссылка на тему с поясненинем - "Написат ьв стену", "Отправить подарок" ...
.
вы много сделали, для нас
Единый форум поддержки |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Единый форум поддержки » Новые возможности форумов » Стена в профиле
Romych
сожалею что ФО не впихнуть!
нужно заголовок стены вверху -посередине,
внизу под стеной - ссылка на тему с поясненинем - "Написат ьв стену", "Отправить подарок" ...
.
вы много сделали, для нас
нужно заголовок стены вверху -посередине,
var ot = 0; //отображение сообщений на стене 0 по убыванию, 1 по возрастанию
var mc = 5; //число отображаемых сообщений из темы
if($('#profile-signature').length){
var stena = $('#profile-signature > ul > p > a').attr('href'), as = [], vs= [];
if(stena.match(/viewtopic.php/)) {
var si = stena.split(/=/)[1],blk = '<article class="stena"><h1>Стена</h1>';
$.get('/export.php?type=atom&tid='+si+'&max='+mc, function(d) {
var d2 = $(d).find('entry');
$(d2).each(function (i){
as[i] = {a: $(this).find('name').text(), b: $(this).find('content').text()};
vs.unshift({a: $(this).find('name').text(), b: $(this).find('content').text()});
});
function fs(arr){for (var i in arr){blk +='<div id ="s-'+i+'"><strong>'+arr[i].a+'</strong><div>'+arr[i].b+'</div></div>';}};
(ot==1)? fs(as): fs(vs);
blk +='</article>';
$('#profile-signature').after(blk);
});};}
Добавил, а дальше можете сами стилизовать, центрировать и т.д.
Romych
еще ссылка на форму ответа внизу этой темы, так понятнее будет
а по-русски ссылку стены можно назвать?
+++++++++++
А можно в скрипты это засунуть? полезная вещь, не зря пропадет
Отредактировано tartar1 (Ср, 29 Июл 2020 10:38:32)
а по-русски ссылку стены можно назвать?
естественно, как угодно и сколько угодно символов, действие скрипта не зависит от названия
А можно в скрипты это засунуть? полезная вещь, не зря пропадет
После того, как Герда отпишется о тестировании, а то вдруг косяки какие-нибудь обнаружатся
Romych
а около никнейма автора в стене лучше написать "Написал такой то " "Подарил такой то"
естественно, как угодно и сколько угодно символов, действие скрипта не зависит от названия
а куда вставлять в скрипте название стены-ссылки?
а если в подписи несколько ссылок?
Romych
А есть вариант как-то отделить линией стену от самого кабинета?
Типо как подпись в темах
К примеру я отделил так
.punbb .post-sig dt {
width:100%;
border-top-color: #7BC7FF !important;
}
Вот тоже самое хотелось бы сверху стены
Romych
а у меня с этим скриптом не работает (вставляет раздел в профиль)
<script>/*Вставка ссылки на Мой раздел*/
if(document.URL.indexOf('/profile.php?id=')!=-1)$().pun_mainReady(function(){
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
var fldName = "Страничка ссылка:"; //Название поля со ссылкой;
/*******************************************************/
var thisUsid = document.URL.split('/profile.php?id=')[1];
var b = '<iframe id="fr" name="tartar" src="/viewforum.php?id=###" width=95% height=550></iframe><br><img src="http://forumstatic.ru/files/0019/ce/b3/74799.jpg">';function setLnkMytems(a){
var ann = $('#pun-profile #pun-main');
if(!ann.find('#fr').length)$(b.split('###').join(a)).appendTo(ann);
}
if($('#profile-right li').length){//alert()
var a = $('#profile-right li>span:contains("'+fldName+'")').next('strong').text();
if(a && a.indexOf('/viewforum.php?id=')!=-1){
a = a.match(/\/viewforum\.php\?id=(\d+)/)[1];
setLnkMytems(a);
}
} else {
$(window).on('message',function(){//alert(); //console.log(e);
var a = $('#profile-right li>span:contains("'+fldName+'")').next('strong').text();
if(a && a.indexOf('/viewforum.php?id=')!=-1){
a = a.match(/\/viewforum\.php\?id=(\d+)/)[1];
setLnkMytems(a);
}
});
}
});
</script>
А есть вариант как-то отделить линией стену от самого кабинета?
можно линией, можно заголовком, как в посте #42
а если в подписи несколько ссылок?
А вот это пожалуй надо добавить в скрипт, чтоб чехарды не было. Чтоб срабатывал только с одной ссылкой на любую тему. Доберусь до ПК, добавлю
с одной ссылкой на любую тему.
я хочу чтоб с определенной ссылки
сделайте пож, и чтобы с разделом не конфликтовало
а в подписи у меня уже стоят ссылки. сделайте по определенному названию
я хочу чтоб стена и раздел в профиле были. и чтоб неск ссылок в подписи можно было
Отредактировано tartar1 (Ср, 29 Июл 2020 12:40:38)
tartar1
мы твои идеи поняли.
будь добр, погоди немного, пока скрипт приведется в юзабельный вид.
большая часть твоих запросов делается через цсс и хтмл. чтобы их не возникало - подожди.
а около никнейма автора в стене лучше написать "Написал такой то " "Подарил такой то"
добавил надпись как у нас в цитатах написал(а):
а если в подписи несколько ссылок?
убрал срабатывание скрипта, если в подписи ссылок на тему больше одной
<script language="javascript"> var ot = 0; //отображение сообщений на стене 0 по убыванию, 1 по возрастанию var mc = 5; //число отображаемых сообщений из темы if($('#profile-signature').length){ var ss = $('#profile-signature >ul >p >a[href*="viewtopic.php"]'), s2 =$(ss).attr('href'), s3 = $(ss).length, as = [], vs= []; if(s3==1) { var si = s2.split(/=/)[1],blk = '<article class="stena"><h1>Стена</h1>'; $.get('/export.php?type=atom&tid='+si+'&max='+mc, function(d) { var d2 = $(d).find('entry'); $(d2).each(function (i){ as[i] = {a: $(this).find('name').text(), b: $(this).find('content').text()}; vs.unshift({a: $(this).find('name').text(), b: $(this).find('content').text()}); }); function fs(arr){for (var i in arr){blk +='<div id ="s-'+i+'"><strong>'+arr[i].a+' написал(а):</strong><div>'+arr[i].b+'</div></div>';}}; (ot==1)? fs(as): fs(vs); blk +='</article>'; $('#profile-signature').after(blk); });};} </script>
Romych
начала тестить/дизайнить.
=======
важные баги:
1. если в профиле есть ссылка на другой форум майбб, стена не подгрузится: http://oaotr.0pk.ru/profile.php?id=2
можно допилить определение подгрузки стены по домену форума?
2. если в профиле есть больше одной ссылок на топики форума, стена не подгрузится: http://oaotr.0pk.ru/profile.php?id=16
мб пусть он обрабатывает первую ссылку профиля (или последнюю), а не все?
тестила вкорячивание в профиль ссылок на другие сайты + одну ссылку на топик форума - тогда все окей: http://oaotr.0pk.ru/profile.php?id=17
Если несколько ссылок нельзя будет вкорячить - мб подумать над другим методом прикрепления стены?
А то мы сильно кастрируем подпись, если нельзя несколько ссылок на форумы майбб и на текущий форум вкорячить.
Например, наоборот - в первое сообщение топика вкорячивать что-нить специально, чтоб он отгружался в профиль?
============
вопросы по допиливанию фич а-ля "соц-сеть":
1. можно подгружать из топика к постам аватарку автора поста?
2. можно впилить сворачивание постов длинных постов "кнопкой"? если пост длинный - частично сворачивается по максимальной высоте и впаивается кнопка "читать далее", по клику на которую пост полностью отображается. пример скрипта: http://forumd.ru/viewtopic.php?id=6149 - только тут сворачивается только первый пост, а надо шоб все посты.
3. я добавила класс дивам контейнеров поста, которые сейчас идут как id="s-№":
<script language="javascript"> var ot = 0; //отображение сообщений на стене 0 по убыванию, 1 по возрастанию var mc = 5; //число отображаемых сообщений из темы if($('#profile-signature').length){ var ss = $('#profile-signature >ul >p >a[href*="viewtopic.php"]'), s2 =$(ss).attr('href'), s3 = $(ss).length, as = [], vs= []; if(s3==1) { var si = s2.split(/=/)[1],blk = '<article class="stena"><h1>Стена</h1>'; $.get('/export.php?type=atom&tid='+si+'&max='+mc, function(d) { var d2 = $(d).find('entry'); $(d2).each(function (i){ as[i] = {a: $(this).find('name').text(), b: $(this).find('content').text()}; vs.unshift({a: $(this).find('name').text(), b: $(this).find('content').text()}); }); function fs(arr){for (var i in arr){blk +='<div id="s-'+i+'" class="profpost"><strong>'+arr[i].a+' написал(а):</strong><div>'+arr[i].b+'</div></div>';}}; (ot==1)? fs(as): fs(vs); blk +='</article>'; $('#profile-signature').after(blk); });};} </script>
а можно добавить класс на сообщения, написанные автором профиля?
Romych
по моему все окей
осталось сделать как я предложил - две вкладки,
Добавлено спустя 37 минут 39 секунд:
вот еще: сделать автору поста ссылку на его профиль.
Отредактировано tartar1 (Чт, 30 Июл 2020 04:02:36)
http://lp.bestbb.ru/profile.php?id=7 вот как выглядит
можно вверху стены ссылку на форму ответа темы - "подарить подарок"
и ник автора поста - ссылка на его профиль
мб пусть он обрабатывает первую ссылку профиля (или последнюю), а не все?
сделал на последнюю ссылку
теперь ссылок в профиле может быть сколько угодно, отображаться в стене будет последняя из списка найденных
а можно добавить класс на сообщения, написанные автором профиля?
добавил отдельный класс автору профиля
<script language="javascript"> var ot = 0; //отображение сообщений на стене 0 по убыванию, 1 по возрастанию var mc = 5; //число отображаемых сообщений из темы if($('#profile-signature').length){ var ss = $('#profile-signature >ul >p >a[href*="viewtopic.php"]').eq(-1), s2 =$(ss).attr('href'), as = [], vs= []; var si = s2.split(/=/)[1],blk = '<article class="stena"><h1>Стена</h1>'; $.get('/export.php?type=atom&tid='+si+'&max='+mc, function(d) { var d2 = $(d).find('entry'); $(d2).each(function (i){ as[i] = {a: $(this).find('name').text(), b: $(this).find('content').text()}; vs.unshift({a: $(this).find('name').text(), b: $(this).find('content').text()}); }); function fs(arr){for (var i in arr){if(arr[i].a==UserLogin){blk +='<div id ="s-'+i+'" class="mypost"><strong>'+arr[i].a+' написал(а):</strong><div>'+arr[i].b+'</div></div>';} else{blk +='<div id ="s-'+i+'" class="anypost"><strong>'+arr[i].a+' написал(а):</strong><div>'+arr[i].b+'</div></div>';}}}; (ot==1)? fs(as): fs(vs); blk +='</article>'; $('#profile-signature').after(blk); });} </script>
можно подгружать из топика к постам аватарку автора поста?
это вечером после работы попробую
сделал на последнюю ссылку
http://lp.bestbb.ru/profile.php?id=2
а у меня не отображается -- ааа, если в спойлере
а картинки не сужаются,как быть?
Отредактировано tartar1 (Чт, 30 Июл 2020 10:04:04)
а картинки не сужаются,как быть?
подождать. картинки можно сузить через стили - я допишу их для скрипта.
сначала надо вопросы с самим кодом решить.
Герда написал(а):можно подгружать из топика к постам аватарку автора поста?
это вечером после работы попробую
и еще для "блоговых" длинных стенок
можно добавить в конце списка постов ссыль "перейти в тему автора"? (продублировать ссылку на топик)
если у людей будет многабукаф, то отматывать вверх к подписи будет не удобно.
ЗЫ. уже фигачу один интересный вариант применения стенки, помимо блогов или анкет.
Применения скрипта под номером раз.
Подарки пользователя в профиле
Создаем топик для подарков пользователя и оформляем первый пост (чтобы пользователи не напортачили при выдаче подарков): http://oaotr.0pk.ru/viewtopic.php?id=167
Текст можете поменять на свой, инструкцию рекомендую оставить.
Вставляем в подпись ссылку на топик с подарками.
Новый код:
<script language="javascript"> var ot = 1; //отображение сообщений на стене 0 по убыванию, 1 по возрастанию var mc = 5; //число отображаемых сообщений из темы if($('#profile-signature').length){ var ss = $('#profile-signature >ul >p >a[href*="viewtopic.php"]').eq(-1), s2 =$(ss).attr('href'), as = [], vs= []; var si = s2.split(/=/)[1],blk = '<article class="stena"><h1>Подарки пользователя</h1>'; $.get('/export.php?type=atom&tid='+si+'&max='+mc, function(d) { var d2 = $(d).find('entry'); $(d2).each(function (i){ as[i] = {a: $(this).find('name').text(), b: $(this).find('content').text()}; vs.unshift({a: $(this).find('name').text(), b: $(this).find('content').text()}); }); function fs(arr){for (var i in arr){if(arr[i].a==UserLogin){blk +='<div id ="s-'+i+'" class="mypost"><div class="content"><div class="from">От <b>'+arr[i].a+'</b></div>'+arr[i].b+'</div></div>';} else{blk +='<div id ="s-'+i+'" class="anypost"><div class="content"><div class="from">От <b>'+arr[i].a+'</b></div>'+arr[i].b+'</div></div>';}}}; (ot==1)? fs(as): fs(vs); blk +='</article>'; $('#profile-signature').after(blk); });} </script>
стиль:
<style> .stena div.anypost:last-child, .stena div.mypost:last-child {display: none;} .anypost, .mypost { display: inline-block; width: 200px; /* максимальная ширина блока с подарком */ height: 200px; /* максимальная высота блока с подарком */ margin: 5px; position: relative; } .stena .content img:last-child { display: block; position: absolute; top: 0; left: 0; border-radius: 50%; /* закругление подарка в кружочек ( если не нужно - удалить эту строчку) */ z-index: 10; max-width: 190px; /* максимальная ширина подарка */ max-height: 190px; /* максимальная высота подарка */ background-color: #ccc; /* цвет фона подарка */ border: 5px solid #284966; /* бордюрчик вокруг подарка (если не нужно - удалить строчку, если нужно меняем #284966 на свой цвет */ } .punbb .stena .content span img { border: none; max-width: 100px; /* максимальная ширина картинок в всплывающем ОПИСАНИИ (тексте дарителя) */ max-height: 100px; /* максимальная высота картинок в всплывающем ОПИСАНИИ (тексте дарителя) */ border-radius: 0%; display: inline; position: relative; background-color: transparent; } .stena .content:hover .from, .stena .content:hover span { opacity: 1; } .stena .from { position: absolute; z-index: 20; background-color: #234563; /* цвет фона на нике дарителя */ color: #fff; /* цвет текста на нике дарителя */ padding: 5px; border-radius: 5px; /* закругление границ (если не надо - удалить) */ opacity: 0; transition: all 0.8s; -webkit-transition: all 0.8s; } .stena .content span { position: absolute; z-index: 20; background-color: #90a2c6; /* цвет фона всплывающего описания */ margin-top: 30px; padding: 5px; border-radius: 5px; /* закругление границ (если не надо - удалить) */ text-align: left !important; opacity: 0; transition: all 0.8s; -webkit-transition: all 0.8s; } .stena .content span:before { content: ''; border: 10px solid transparent; border-bottom: 10px solid #90a2c6; /* цвет фона всплывающего описания ЕЩЕ РАЗ (это стрелочка, меняем #90a2c6 на цвет, который вставляли для описания выше) */ position: relative; top: -28px; z-index: 20; } </style>
сюда не помешает добавить аву отправителя (если ромыч сможет запилить)
а вот ссылка на топик с подарками - мастхев допилить. иначе новички форума не разберутся, где дарить.
Вы здесь » Единый форум поддержки » Новые возможности форумов » Стена в профиле