Есть ли скрипт. Чтобы можно было поднимать темы вверх. Например чтобы была кнопочка, поднять тему.
Поднять тему вверх Без АП+ ?
Сообщений 1 страница 17 из 17
Поделиться2Сб, 24 Июн 2017 07:03:09
Cpacoin, как вариант, заходим в тему, которую нужно поднять, примерно над формой ответа в левой стороне есть выпадающее меню "Модерирование темы", выбираем "Выделить тему".
И в списке тем данного подфорума выделенная тема встанет выше остальных с пометкой "Важно:". Снять пометку "Важно" можно проделав те же действия, только выбрав в выпадающем списке "Убрать выделение".
Поделиться3Сб, 24 Июн 2017 09:24:40
"Модерирование темы", выбираем "Выделить тему".
И в списке тем данного подфорума выделенная тема встанет выше остальных с пометкой "Важно:". Снять пометку "Важно" можно проделав те же действия, только выбрав в выпадающем списке "Убрать выделение".
А есть еще скрипт для быстрого выделения тем. Не надо каждый раз заходить в тему и модерировать ее, функция выделения/снятия выделения и открыть/закрыть тему доступна из списка тем в форуме. И доступна она только админам/модерам. Форум не нагружает, пользуюсь ею уже давно и косяков не замечала.
Ставить в HTML-низ
<!-- разделение тем--> <style> img.mod_topic { cursor:pointer; } </style> <script type="text/javascript"> var tnum= 0; var mod_topic = []; mod_topic[0]= ['dafDw.png','stick','Выделить']; mod_topic[1]= ['wDvgx.png','unstick','Снять выделение']; mod_topic[2]= ['dsnFu.png','open','Открыть']; mod_topic[3]= ['twBuH.png','close','Закрыть']; function ModTopic(it,rt,tt){return (' <img src="http://s2.uploads.ru/'+it+'" class="mod_topic" rel="'+rt+'" title="'+tt+'" /> ')}; function GetModTopic(th,tn,tr,tnp,tnr,tnt){ $.get('/moderate.php?fid='+tn+ '&'+tr+'='+tn); // alert(tnp+'#'+tnr+'#'+tnt); $(th).attr({'src':'http://s2.uploads.ru/'+tnp}).attr({'rel':tnr}).attr({'title':tnt}); if(tnr=='unstick') { $(th).parent().find('span.acchide:first').after('<span class="stickytext">Важно: </span>'); $(th).parents('tr').attr({'class':'isticky'}); } if(tnr=='open') { $(th).parent().find('span.acchide:first').after('<span class="closedatafield">Закрыта </span>'); $(th).parents('tr').attr({'class':'iclosed'}); } if(tnr=='stick') { $(th).parent().find('span.stickytext').remove(); $(th).parents('tr').attr({'class':''}); } if(tnr=='close') { $(th).parent().find('span.closedatafield').remove(); $(th).parents('tr').attr({'class':''}); } }; if (document.URL.indexOf('viewforum.php') != -1 && GroupID <= 2){ var fnum=$('div.forum[id^=forum_f]').attr('id').replace('forum_f',''); $('div.forum div.tclcon').each(function(){ if($(this).html().indexOf('closedatafield')!=-1) $(this).append(ModTopic(mod_topic[2][0],mod_topic[2][1],mod_topic[2][2])); else $(this).append(ModTopic(mod_topic[3][0],mod_topic[3][1],mod_topic[3][2])); if($(this).html().indexOf('stickytext')!=-1) $(this).append(ModTopic(mod_topic[1][0],mod_topic[1][1],mod_topic[1][2])); else $(this).append(ModTopic(mod_topic[0][0],mod_topic[0][1],mod_topic[0][2])); }); $("img.mod_topic").live("click", function(){ tnum=$(this).parent().find('a').attr('href').replace('http://'+document.domain+'/viewtopic.php?id=',''); var threl=$(this).attr('rel'); if(threl=='stick') GetModTopic(this,tnum,threl,mod_topic[1][0],mod_topic[1][1],mod_topic[1][2]); if(threl=='unstick') GetModTopic(this,tnum,threl,mod_topic[0][0],mod_topic[0][1],mod_topic[0][2]); if(threl=='open') GetModTopic(this,tnum,threl,mod_topic[3][0],mod_topic[3][1],mod_topic[3][2]); if(threl=='close') GetModTopic(this,tnum,threl,mod_topic[2][0],mod_topic[2][1],mod_topic[2][2]); }); } </script>
Поделиться4Пн, 26 Июн 2017 18:11:09
Спс за скрипт. Я его поставил все робит. Но меня интересует скрипт. Что бы мог любой желающий поднять свою свою тему в верх без комента.
Пример.
Тема которую создали давно. Она уходит вниз из этого списка в низ.
Скрин списка:
А чтобы она поднялась нужно что то написать, или оставить комментарий.
Хотелось бы что бы можно было нажать кнопку Ап. И тема Появилась в этом списке. Как будтобы сделали комент. Но комента не было.
Скрин:
Подскажите есть что нибуть похожее. Или мож что нибуть посоветуете.
Или так . Допустим раз в сутки можно поднимать тему.
Скрин.
Если несложно можете в чат ответить:
Ссылка на чат: http://aff-monitor.chatovod.ru
Отредактировано Cpacoin (Пн, 26 Июн 2017 18:17:39)
Поделиться5Вт, 27 Июн 2017 17:34:22
Cpacoin
Хм... Ну как Вариант - в HTML низ ( Пробуйте - я не тестировал Потестировал - вродь работает
<script type="text/javascript">
if($("#pun-viewtopic,#pun-post").length)(function (){
var allow = false;if($(".topicpost .pa-author a").text()==UserLogin)allow = true;
if(allow)$(".formsubmit").append(' <input type="button" id="UPtopic" value="Поднять тему" class="button"/>');
$("#UPtopic").click(function(){$("#main-reply").val("[__up__]").hide();$(".button[name=submit]").click()});
var txt = '<div class="container tstUP" style="border-style:solid;border-width:1px;padding:1em"><strong>#1#</strong> поднял тему (#2#).</div>';
$(".post-content:contains('[__up__]')").parents(".post").html(function(){return txt.replace('#1#',$(this).find(".pa-author a").text())
.replace('#2#',$(this).find(".permalink").text())});}());$("#pun-searchposts .post-content:contains('[__up__]')").parents(".post").remove()
</script>
Для Работы поднималки нун выставлять настройку: Закрепить первое сообщение на всех страницах темы (при создании темы
Поделиться6Ср, 28 Июн 2017 15:31:45
Алекс спс. Все работает.
Поделиться7Пт, 2 Авг 2019 20:57:15
Alex_63
Алекс, доброго времени суток.
Есть ли альтернатива без выставления настройки "Закрепить первое сообщение на всех страницах темы"
К томуже до вчерашнего дня кнопка присутствовала по скрипту, а теперь пропала и не могу вернуть.
Поделиться8Пт, 2 Авг 2019 21:09:40
sergeev
"Закрепить первое сообщение на всех страницах темы" вообще не про это) Вам тему поднятой нужно держать?
Ссылку на форум, где скрипт стоит и не работает, потестирую
Поделиться9Пт, 2 Авг 2019 21:20:29
sergeev
"Закрепить первое сообщение на всех страницах темы" вообще не про это) Вам тему поднятой нужно держать?
Ссылку на форум, где скрипт стоит и не работает, потестирую
мой форум корпоративный и закрытый
да, нужна кнопка для поднятия темы. тот скрипт, который вы предоставили 17 года он у меня работал и поднимал темы, котоыре при создании были отмечены этой галочкой "закрепить первое сообщение.."
и вот на днях скрипт перестал работать вообще даже в тех темах, которые я поднимал ранее. кнопка просто пропала
Поделиться10Пт, 2 Авг 2019 22:30:24
sergeev
Немного поправил скрипт, теперь работает вне зависимости от наличия закрепленного первого поста, с любой страницы.
Как и ранее, позволяет поднимать темы только автору, ставится в HTML низ (вместо прежнего):
<script type="text/javascript"> if($("#pun-viewtopic,#pun-post").length)(function (){ function setButton() { $(".formsubmit").append(' <input type="button" id="UPtopic" value="Поднять тему" class="button"/>'); } if($(".topicpost .pa-author a").text()==UserLogin) setButton(); else if($('.toppost').length) $.get('/viewtopic.php?id='+$('link[rel="alternate"]').attr('href').split('id=')[1],function(data){ if($(data).find('.topicpost .pa-author a').text()==UserLogin)setButton(); }); $("#post").on("click","#UPtopic", function(){ $("#main-reply").val("[__up__]").hide();$(".button[name=submit]").click(); }); var txt = '<div class="container tstUP" style="border-style:solid;border-width:1px;padding:1em"><strong>#1#</strong> поднял тему (#2#).</div>'; $(".post-content:contains('[__up__]')").parents(".post").html(function(){ return txt.replace('#1#',$(this).find(".pa-author a").text()).replace('#2#',$(this).find(".permalink").text()); }); }()); $("#pun-searchposts .post-content:contains('[__up__]')").parents(".post").remove() </script>
Поделиться11Пт, 2 Авг 2019 22:41:26
Немного поправил скрипт, теперь работает вне зависимости от наличия закрепленного первого поста, с любой страницы.
Как и ранее, позволяет поднимать темы только автору, ставится в HTML низ (вместо прежнего)
сохранил, но подскажите где сама кнопочка располагается. в форме быстрого овтета её нет, в области самого сообщения тоже не наблюдаю
Поделиться12Пт, 2 Авг 2019 22:45:30
sergeev
Как и раньше, в форме ответа должна быть.
Вы точно свою тему поднять пытаетесь (в которой первый пост с того же аккаунта)?
Если да и кнопки при этом нет, скиньте мне в ЛС ссылку на форум и желательно данные от аккаунта, с которого можно было бы зайти и потестировать (если конечно форум не настолько закрытый)
Поделиться13Пт, 2 Авг 2019 23:17:55
sergeev
Как и раньше, в форме ответа должна быть.Вы точно свою тему поднять пытаетесь (в которой первый пост с того же аккаунта)?
Если да и кнопки при этом нет, скиньте мне в ЛС ссылку на форум и желательно данные от аккаунта, с которого можно было бы зайти и потестировать (если конечно форум не настолько закрытый)
информация на форуме к сожалению очень приватна для предоставления доступа.
кнопочка в обоих вариантах скриптов просто не появляется, а была именно в форме ответа
скрипт же ко всем стилям применим?
Поделиться14Пт, 2 Авг 2019 23:25:39
sergeev
Как и раньше, в форме ответа должна быть.Вы точно свою тему поднять пытаетесь (в которой первый пост с того же аккаунта)?
Если да и кнопки при этом нет, скиньте мне в ЛС ссылку
на форум и желательно данные от аккаунта, с которого можно было бы зайти и потестировать (если конечно форум не настолько закрытый)
Я разобрался! Если в настройках администрирования в разделе Поле профиля значение Автор выставлено Скрыто, тогда кнопочка отсутствует.
Есть возможность скрипт допилить так, чтобы при значении Скрыто он был тоже применим, и кнопочка была доступной?
Громадное спасибо за содействие и помощь
Отредактировано sergeev (Пт, 2 Авг 2019 23:32:06)
Поделиться15Сб, 3 Авг 2019 00:00:28
sergeev
Попробуйте заменить код на такой:
<script type="text/javascript"> if($("#pun-viewtopic,#pun-post").length)(function (){ function setButton() { $(".formsubmit").append(' <input type="button" id="UPtopic" value="Поднять тему" class="button"/>'); } function checkID(url) { return url && +url.match(/id=(\d+)/)[1] == UserID; } if(checkID($(".topicpost .pl-email a[href*='profile']").attr('href'))) setButton(); else if($('.toppost').length) $.get('/viewtopic.php?id='+$('link[rel="alternate"]').attr('href').split('id=')[1],function(data){ if(checkID($(data).find(".topicpost .pl-email a[href*='profile']").attr('href')))setButton(); }); $("#post").on("click","#UPtopic", function(){ $("#main-reply").val("[__up__]").hide();$(".button[name=submit]").click(); }); var txt = '<div class="container tstUP" style="border-style:solid;border-width:1px;padding:1em"><strong>#1#</strong> поднял тему (#2#).</div>'; $(".post-content:contains('[__up__]')").parents(".post").html(function(){ return txt.replace('#1#',$(this).find(".pa-author a").text()).replace('#2#',$(this).find(".permalink").text()); }); }()); $("#pun-searchposts .post-content:contains('[__up__]')").parents(".post").remove() </script>
Поделиться16Сб, 3 Авг 2019 00:02:36
Проверил. Все отлично работает. Большое Вам спасибо! лайк
Отредактировано sergeev (Пт, 9 Авг 2019 14:22:26)
Поделиться17Сб, 3 Авг 2019 10:27:57
sergeev
Попробуйте заменить код на такой:Код:<script type="text/javascript"> if($("#pun-viewtopic,#pun-post").length)(function (){ function setButton() { $(".formsubmit").append(' <input type="button" id="UPtopic" value="Поднять тему" class="button"/>'); } function checkID(url) { return url && +url.match(/id=(\d+)/)[1] == UserID; } if(checkID($(".topicpost .pl-email a[href*='profile']").attr('href'))) setButton(); else if($('.toppost').length) $.get('/viewtopic.php?id='+$('link[rel="alternate"]').attr('href').split('id=')[1],function(data){ if(checkID($(data).find(".topicpost .pl-email a[href*='profile']").attr('href')))setButton(); }); $("#post").on("click","#UPtopic", function(){ $("#main-reply").val("[__up__]").hide();$(".button[name=submit]").click(); }); var txt = '<div class="container tstUP" style="border-style:solid;border-width:1px;padding:1em"><strong>#1#</strong> поднял тему (#2#).</div>'; $(".post-content:contains('[__up__]')").parents(".post").html(function(){ return txt.replace('#1#',$(this).find(".pa-author a").text()).replace('#2#',$(this).find(".permalink").text()); }); }()); $("#pun-searchposts .post-content:contains('[__up__]')").parents(".post").remove() </script>
Спасибо, все работает!!!