ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов

Объявление

GEMcross

Кроссовер, ориентированный на активную игру и уютный флуд.
Собираем у себя драгоценных игроков уже почти три года.

Посетить

💰 Теперь у нас можно приобрести "Мгновенные уведомления от Алекса"

Скрипт оповещает пользователей о событиях на форуме в реальном времени, придавая динамики общению.
Автор: Alex_63 | Платформа: MyBB.ru.

У нас: структурированная документация, возможность платить иностранными картами, перевыпустить подписку или купить бессрочно.

Купить скрипт

🔥 Новинка в портфолио: ДИЗАЙН ФОРУМА В СТИЛЕ ФЭНТЭЗИ С ПРОЗРАЧНОСТЬЮ

Платформа: MyBB.ru (RusFF)
Стоимость: 8000 рублей;
Авторы: Moju & Gerda

Посмотреть

🌟 ОПЛАТА ЗАКАЗА НАГРАДНЫМИ БАЛЛАМИ И СКИДКИ

Заказы можно оплачивать наградными баллами (НБ). Полностью или частично.
Бартер за НБ осуществляется на условиях платного заказа, в качестве оплаты - НБ.
А если у вас есть любой платный заказ, вы можете обменять НБ на скидочные купоны.

узнать подробности

📣 Наш проект: Ролевой поисковик

Поиск роли на текстовых ролевых
Проект от специалистов FD

Спойлеры и обсуждение

❤️ Поддержать проект

Если у вас есть желание помочь нам сделать наш проект лучше:
Реклама на сайтеПредложения
Стать модераторомОтзывы

Подробнее

SPECIAL OFFER: We distribute designs for free

Finalizing the layout for your project;
Developing a style code;
Mobile version included if you wish.

Details

Support the project

If you want to help us:
Become a moderator
SuggestionsReviews

Details
❗ ❗ ❗ Technical work is underway. We'll fix it soon. :) If you're english-speaker and want to use our forum, switch to the russian language. This is temporary, until the works with multi-language option will be done. Sorry for the inconvenience.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Создание подфорумов искусственно с помощью скрипта (Mybb)

Сообщений 1 страница 3 из 3

1

Создание подфорумов искусственно с помощью скрипта (c) karpoff

1. Первое что мы делаем - это создаём Форум через админ-меню под названием "Картинки". Он и станет скоро подфорумом. Права доступа к нему резонно установить такие же как и у форума "Мультимедиа"

2. Теперь идём на главную страницу и видим перед собой новый форум "Картинки". заходим в него. Смотрим что написано в адресной строке http://имя_форума/viewforum.php?id=11
Выделенное красным у каждого своё. Запоминаем где-нить эту ссылку и этот номер в частности.

3. Идём в форум "Мультимедиа", внутри которого мы хотим сделать раздел. Создаём там тему с тем же названием что и подфорум ("Картинки").

4. Заходим в тему. Запоминаем ссылку на неё. Имеет смысл эту тему закрыть и выделить, чтобы она отображалась в самом верху.

5. Предварительные работы закончились.
Теперь берём скрипт:

Код:
<script type="text/javascript">
var arr = new Array()

arr[0] = new Array("СТАРАЯ_ССЫЛКА1","НОВАЯ_ССЫЛКА1","ОПИСАНИЕ1")

var arr2=document.getElementsByTagName("tr")
for (i=0;arr2[i]; i++) {
var str=arr2[i].innerHTML
for (j=0; arr[j]; j++)
    if(str.indexOf(arr[j][0])!=-1) {
    td=arr2[i].getElementsByTagName("td")
    td[0].innerHTML="<div class=\"tclcon\"><h3><a href="+arr[j][1]+">"+td[0].getElementsByTagName("a")[0].innerHTML+"</a></h3>"+arr[j][2]+"</div>"
    td[1].innerHTML="&nbsp;"
    td[2].innerHTML="&nbsp;"
    td[3].innerHTML="&nbsp;"
    break
    }
}
</script>

и вставляем его в html-низ.

Теперь устанавливаем параметры.
СТАРАЯ_ССЫЛКА1 - ссылка на тему "Картинки" (см пункт 4)
НОВАЯ_ССЫЛКА1 - ссылка на форум "Картинки" (см пункт 2)
ОПИСАНИЕ1 - Описание для подфорума (Если не нужно, просто удалите)

6. Подфорум готов. Осталась только одна проблема - наш подфорум отображается также на главной странице. Надо его спрятать. Для этого в html-верх вставляем такой скрипт:

<script language="JavaScript">
str=document.URL
if(str.substring(str.lastIndexOf('/')+1)=="" || str.substring(str.lastIndexOf('/')+1)=="index.php")
   document.write("<style>#forum_fxx{display:none}</style>")
</script>

Смотрим выделенное жирным #forum_fxx. Вместо xx ставим число, которое мы запомнили в пункте 2 (в нашем случае 11). Тоесть выделенное жирным для нашего случая будет записано как #forum_f11

Теперь ВСЁ!

Если хотите делать несколько подфорумов:
Пункты 1-4 повторяем для каждого в отдельности
В пункте 5 вставляем только один скрипт для всех. Но в выделенном красном блоке вставляем столько строк, сколько подфорумов. Тоесть это будет выглядеть так:

arr[0] = new Array("СТАРАЯ_ССЫЛКА1","НОВАЯ_ССЫЛКА1","ОПИСАНИЕ1")
arr[1] = new Array("СТАРАЯ_ССЫЛКА2","НОВАЯ_ССЫЛКА2","ОПИСАНИЕ2")
arr[2] = new Array("СТАРАЯ_ССЫЛКА3","НОВАЯ_ССЫЛКА3","ОПИСАНИЕ3")
.....

Скрипт из 6-го пункта вставляем также один на всех. Только в блоке выделенным жирным перечиялем через запятую id, тоесть это будет выглядеть так:

<script language="JavaScript">
str=document.URL
if(str.substring(str.lastIndexOf('/')+1)=="" || str.substring(str.lastIndexOf('/')+1)=="index.php")
   document.write("<style>#forum_fxx,#forum_fxx2,#forum_fxx3{display:none}</style>")
</script>

Теги: скрипт, страница списка тем или создания тем, разделы, Karpoff,mybb

+1

2

Дополнение: отображение наличия новых сообщений в подразделе на главной (с) Morfirin

Изменения произойдут толко на главной странице. Если в подфоруме есть новые сообщения, это отразится на форуме, который его содержит. Если в подфоруме есть новые сообщения позднее сообщений св темах форума, то в последней графе таблицы около форума будет ссылка на последнее сообщение в подфоруме.

<script type="text/javascript">
if(location.href=='http://'+location.hostname+'/' || location.href=='http://'+location.hostname+'/index.php' || location.href=='http://'+location.hostname) {
    makeSubforum('forum_f8', 'forum_f2')
    makeSubforum('forum_f7', 'forum_f1')
    и так далее

}
function makeSubforum(main, subf)
{
    $('#'+main+' td.tc2').html(parseInt($('#'+main+' td.tc2').html())+parseInt($('#'+subf+' td.tc2').html()))
    $('#'+main+' td.tc3').html(parseInt($('#'+main+' td.tc3').html())+parseInt($('#'+subf+' td.tc3').html()))
    var date1 = transtoDate($('#'+main+' td.tcr').html());
    var date2 = transtoDate($('#'+subf+' td.tcr').html());
    if(date1<date2)
$('#'+main+' td.tcr').html($('#'+subf+' td.tcr').html())
}
function transtoDate(oi)
{
    oi = oi.substr(oi.indexOf("<br>")+4)
    var d1=new Date()
    var resd = 0;
    d1.setHours(oi.substr(oi.indexOf(" ")+1, 2), oi.substr(oi.indexOf(":")+1, 2), oi.substr (oi.lastIndexOf(":")+1, 2))
    if (oi.substr(0, 5)=="Сегод")
resd=d1.getTime()
    else if (oi.substr(0, 5)=="Вчера")
resd=(d1.getTime()-(1000*60*60*24))
    else {
d1.setFullYear(oi.substr(0, 4), (oi.substr(oi.indexOf("-")+1, 2))-1, oi.substr(oi.indexOf("-")+3, 2))
var resd=d1.getTime()
}
    return resd;
}
</script>

Вместо жирного добавляйте строчки для каждого имеющегося у вас подфорума. Вставляете сточку makeSubforum('forum_f8', 'forum_f2'),где вместо forum_f8 вставляете ID форума, к которому приписан подфорум, а вместо  forum_f2 - ID форума, который изображает из себя подфорум и скрыт на главной. ID вы должны знать из основного скрипта искусственных подфорумов, который тут выше.

Добавлено: отображает во второй и третьей колонке сумму тем и сообщений в форуме и подфоруме.

0

3

Герда написал(а):

Дополнение: отображение наличия новых сообщений в подразделе на главной (с) Morfirin

Вот это очень заинтересовало.
Но когда более двух подфорумов в одном, не работает вывод ссылки на новое сообщение в 4-ую колонку, либо я не знаю, как верно прописать.
Пробовал так:
    makeSubforum('forum_f60', 'forum_f59')
    makeSubforum('forum_f60', 'forum_f57')
    makeSubforum('forum_f60', 'forum_f41')
И так:
    makeSubforum('forum_f60', 'forum_f59', 'forum_f57', 'forum_f41')

Нипалучается) Если бы можно было, скрипт был бы очень-очень нужный) Придумайте?)

0