Как исправить статистику форума для uCoz
Melisa
Суббота, 15 Июля 2017, 01:02 | Сообщение 1
К себе на сайт установила скрипт изменяющий статистику форума,но там не отображаются именинники...Можно как-то это исправить?Код
<?if($PAGE_ID$='main')?> <style> .gTables {background:#2a2a2a;} #record {padding:6px;background:#3a3a3a;color:#8268a3;} #onlis {padding:6px;background:#724695;color:#fff;} #onlines {background:#2a2a2a;padding:6px;} #alltem,#allotvet,#allusers {background:#724695;padding:6px;color:#fff;} #tem,#otvet,#alluser,#newuser {padding:6px;background:#7f47aa;text-align:center;font-weight:bold;color:#fff;} </style> <table width="100%" cellspacing="1" cellpadding="0" border="0" class="gTables" style="margin-top:-25px;"> <tbody><tr><td class="gTableTop" colspan="8"><div class="gTopCornerRight" style="float:right"></div>Статистика форума</td></tr> <tr><td id="onlis" colspan="4"></td><td id="record" colspan="4"></td></tr> <tr><td id="onlines" colspan="8"></td></tr> <tr><td id="alltem" >Всего создано тем:</td><td id="tem"></td><td id="allotvet">Всего создано ответов:</td><td id="otvet"></td><td id="allusers">Всего зарегистрировано человек:</td><td id="alluser"></td><td id="allusers">Новый участник:</td><td id="newuser"></td></tr> </tbody></table> <script> var newUser = $('.gTableBody1 b:last').html(); var posetiteli = $('.gTableSubTop').slice(-2).html(); var onlines = $('.gTableBody1').html(); var record = $('.statsRecord').html(); var allTem = $('.gTableBody1:last b:first').html(); var allotvet = $('.gTableBody1:last b + b').html(); var allUsers = $('.gTableBody1:last b').eq(2).html(); $('.gTable').last().html(''); $('#record').html(record); $('#onlines').html(onlines); $('#onlis').html(posetiteli); $('#tem').html(allTem); $('#otvet').html(allotvet); $('#alluser').html(allUsers); $('#newuser').html(newUser); $('.statsRecord').attr('style','display:none'); </script><?endif?>
Помогите пожалуйста!!!
Делаю рипы и графику на заказ. aniday.ucoz.ua
Страна: (RU )
Kosten
Суббота, 15 Июля 2017, 01:14 | Сообщение 2
Melisa, для начало нужно было прочесть ЗДЕСЬ и потом тему создавать. Открыто, ссылку на сайт хоть предоставите.
Страна: (RU )
Kosten
Суббота, 15 Июля 2017, 01:18 | Сообщение 3
С одного форума взял, как понимаю, у вас такая же статистика, что попробуйте эту поставить, здесь как видим все работает. Меняем вид стандартного блока "Дополнительная информация" форума uCoz на собственный. Установка: В таблицу стилей CSS вставляем:Код
.gTables {background:#f2f2f2;} #record {padding:6px;background:#fbfbfb;} #onlis {padding:6px;background:#fff;} #onlines {background:#fff;padding:6px;} #alltem,#allotvet,#allusers {background:#fbfbfb;padding:6px;} #tem,#otvet,#alluser,#newuser {padding:6px;background:#fff;text-align:center;font-weight:bold;}
В общий Вид страниц форума после тега BODY вставляем код:Код
<?if($PAGE_ID$='main')?> <table width="100%" cellspacing="1" cellpadding="0" border="0" class="gTables" style="margin-top:-25px;"> <tbody><tr><td class="gTableTop" colspan="8"><div class="gTopCornerRight" style="float:right"></div>Статистика форума</td></tr> <tr><td id="onlis" colspan="4"> <span id="uBf1"></span> <span id="uBf2"></span>, <span id="uBf3"></span> </td><td id="record" colspan="4"> <div id="uBf4"></div> </td></tr> <tr><td id="onlines" colspan="8"> <div id="uBf5"></div> </td></tr> <tr><td id="alltem" >Всего создано тем:</td><td id="tem"><div id="uBf6"></div> </td><td id="allotvet">Всего добавлено ответов:</td><td id="otvet"> <div id="uBf7"></div> </td><td id="allusers">Всего зарегистрировано человек:</td><td id="alluser"> <div id="uBf8"></div> </td><td id="allusers">Новый участник:</td><td id="newuser"> <div id="uBf9"></div> </td></tr> </tbody></table> <?if($URI_ID$='frMain')?> <script>$('.gTable:last').hide();</script> <?endif?> <script> uBf1 = $('.gTableSubTop b:eq(0)').html(); uBf2 = $('.gTableSubTop b:eq(1)').html(); uBf3 = $('.gTableSubTop b:eq(2)').html(); uBf4 = $('.statsRecord').html(); uBf5 = $('.gTableBody1').html(); uBf6 = $('.gTableBody1 b:eq(0)').html(); uBf7 = $('.gTableBody1 b:eq(1)').html(); uBf8 = $('.gTableBody1 b:eq(3)').html(); uBf9 = $('.gTableBody1 b:eq(4)').html(); uBf10 = $('.birthdaysBlock').html(); uBf11 = $('.birthdaysBlock a').size(); $('#uBf1').html('Посетители: '+uBf1); $('#uBf2').html('(участников - '+uBf2); $('#uBf3').html('гостей - '+uBf3+')'); $('#uBf4').html(uBf4); $('#uBf5').html('Сейчас на форуме '+uBf5); $('#uBf5 div:eq(0)').remove(); $('#uBf6').html(''+uBf6+''); $('#uBf7').html(''+uBf7+''); $('#uBf8').html(''+uBf8+''); $('#uBf9').html(''+uBf9); if(uBf11 > 0) { $('#uBf10').html('Сегодня день рождения у '+uBf10); }; </script> <?endif?>
Страна: (RU )
Kosten
Суббота, 15 Июля 2017, 01:20 | Сообщение 4
Также посмотрите этот скрипт статистики форума , возможно он корректно работать будет.
Страна: (RU )
Melisa
Суббота, 15 Июля 2017, 01:30 | Сообщение 5
Уже до этого пробовала устанавливала другие....Он рабочий почти,когда у кого то день рожденье цифры статистики исчезают,а сама табличка с именинниками не появляется ссылка на сайт aniday.ucoz.ua/forum/
Делаю рипы и графику на заказ. aniday.ucoz.ua
Страна: (RU )
Scheme
Суббота, 15 Июля 2017, 01:35 | Сообщение 6
Больше всего, система обновилась, а скрипт старый и где то уже на работает и нужно переписывать.Добавлено (15.07.2017, 01:35) ---------------------------------------------
Цитата Melisa (
)
день рожденье цифры статистики исчезают,
Для чего вообще там эта информация, ее как вижу вообще убрали.
Страна: (RU )
Kosten
Суббота, 15 Июля 2017, 01:36 | Сообщение 7
Melisa, в этом коде вообще не предусмотрены именинники.
Страна: (RU )
-SAM-
Суббота, 15 Июля 2017, 04:00 | Сообщение 8
Melisa, в этом скрипте действительно есть недоработка. Суть в том, что сделали привязку такую вот:
Код
var posetiteli = $('.gTableSubTop').slice(-2).html();
Когда есть именинники, то соответственно этих td с классом gTableSubTop уже получается три, смещение идёт на второй с конца и получается уже вывод "Статистика форума", а не вывод количества посетителей на форуме\сайте (исходя из включенной настройки в ПУ на учёт всех посетителей сайта, а не лишь тех, кто форум смотрит в текущий момент). Исправляется это всё очень просто, ставим вместо той переменной эту:
Код
var posetiteli = $('.gTableSubTop:contains("Посетители")').html();
Самих именинников можно выудить с помощью переменной:
Код
var birthdays = $('.birthdaysBlock').html();
и прописать потом в код скрипта:
Код
$('#birthdays').html(birthdays);
Ну, а саму строку или колонку туда уж как-то впихнуть - в основную таблицу, чтобы нормально было, то есть прописать там еще под конец таблицы:
Код
<tr><td id="allusers">Сегодня родились:</td><td id="birthdays"></td></tr>
UPD.: Потом еще понял, что эти строки:
Код
var allTem = $('.gTableBody1:last b:first').html(); var allotvet = $('.gTableBody1:last b + b').html(); var allUsers = $('.gTableBody1:last b').eq(2).html();
тоже сделаны не совсем удачно, когда возвращается вывод именинников, то всё разваливается... пришлось тоже переписать.
Там еще и проверки нужно делать, чтобы когда нет именинников, то так и писалось в колонку, что их нет... или вовсе не выводило строку... это дополнительные условия в скрипт, а я в этом не силён, увы... ищите тех, кто сможет переписать.
UPD. 2: Пожалуйста, чем смог помог. Вот полностью код:Код
<?if($PAGE_ID$='main')?> <style> .gTables {background:#2a2a2a;} #record,#birthdays {padding:6px;background:#3a3a3a;color:#8268a3;} #onlis {padding:6px;background:#724695;color:#fff;} #onlines {background:#2a2a2a;padding:6px;} #alltem,#allotvet,#allusers {background:#724695;padding:6px;color:#fff;} #tem,#otvet,#alluser,#newuser {padding:6px;background:#7f47aa;text-align:center;font-weight:bold;color:#fff;} </style> <table width="100%" cellspacing="1" cellpadding="0" border="0" class="gTables" style="margin-top:-25px;"> <tbody><tr><td class="gTableTop" colspan="8" style="border:none;"><div class="gTopCornerRight" style="float:right"></div>Статистика форума</td></tr> <tr><td id="onlis" colspan="4"></td><td id="record" colspan="4"></td></tr> <tr><td id="onlines" colspan="8"></td></tr> <tr><td id="alltem" >Всего создано тем:</td><td id="tem"></td><td id="allotvet">Всего создано ответов:</td><td id="otvet"></td><td id="allusers">Всего зарегистрировано человек:</td><td id="alluser"></td><td id="allusers">Новый участник:</td><td id="newuser"></td></tr> </tbody></table> <script> var newUser = $('.gTableBody1 b:last').html(); var posetiteli = $('.gTableSubTop:contains("Посетители")').html(); var onlines = $('.gTableBody1').html(); var record = $('.statsRecord').html(); var allTem = $('.gTableBody1 b:eq(1)').html(); var allotvet = $('.gTableBody1 b:eq(2)').html(); var allUsers = $('.gTableBody1 b:eq(3)').html(); var birthdays = $('.birthdaysBlock').html(); var birthday = $('.birthdaysBlock a').size(); $('.gTable').last().html(''); $('#record').html(record); $('#onlines').html(onlines); $('#onlis').html(posetiteli); $('#tem').html(allTem); $('#otvet').html(allotvet); $('#alluser').html(allUsers); $('#newuser').html(newUser); if(birthday > 0) { $('#newuser').parent().after('</tr>\n<tr><td id="birthdays" colspan="8">Поздравляем с Днем Рождения: '+birthdays+'</td>'); }; $('.statsRecord').attr('style','display:none'); </script><?endif?>
Как-то так, переписал.
Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно. Бесплатное оказание помощи в ответах на "Вопросы про uCoz".
Сообщение отредактировал -SAM- - Суббота, 15 Июля 2017, 09:35
Страна: (UA )
Melisa
Суббота, 15 Июля 2017, 06:17 | Сообщение 9
-SAM-, спасибо за помощь)
Делаю рипы и графику на заказ. aniday.ucoz.ua
Страна: (RU )