Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак - сокращенные ссылки на страницы темы
RSS

Хак - сокращенные ссылки на страницы темы

Вида "<< 1 2 3 ... 10 11 12 >>"

Текущий рейтинг темы: Нет

<<Назад  Модератор: GramПечать
 
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
Например в топике 20 страниц, радом с названиями топика есть ссылки по которым можно сразу попасть в нужный топик  
Вопрос такой-
До каких размеров он "вырастет" :)

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Насколько я понял, до бесконечности. И лично я считаю, что это удобнее, чем когда вводятся какие-либо ограничения (другой вопрос, а стоит ли допускать существование таких больших тем).

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro по поводу больших тем...
не знаю может кому это и не нравится.
Я ушёл от борды в основном только по этой причине.
у них лимит 90 КБ. и тема закрывается. А теперь попробуй представить сколько дублей за 2-а года было.
Например:
Тема1
продолжение темы1
продолжаем тему1/2
ну и т.д.
Многим кому понравится тема, расставаться с ней не желают, ставят её себе в избранное и только в ней и живут. Взять тот-же IXBT Да любой форум..  примеров можно привести массу. Меня больше всего волнуют главные станицы форумов (в самих топиках это можно пережить). Например если топиков в теме штук 100, представляешь как убого это будет выглядеть. Мне например страшно представить, что будет через пару месяцев если сейчас (спустя 1 месяц) во многих темах по 15 страниц. Да можно делать(разбить) и по 50 сообщений на одной странице тем самым увеличить время загрузки форума но таким образом сократить кол. страниц. Но ведь это не решение прблеммы.
Вот ещё вопрос по поводу топиков-
Возможно изменить кол-во топиков на одной странице форума?

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
По поводу больших тем: все ясно. Просто когда я сам наблюдал это явление, я считал, что оно возникает из-за элементарной лени модераторов.
Про количество тем на странице: на данный момент оно вроде бы равно количеству сообщений в теме (хотя кто-то мне говорил, что там где-то константа задана), но это можно сделать, чтобы это вводилось в Центре Администрирования.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro нет, я не случайно задал этот вопрос.
Уже пробовал..
В Настройке интерфейса форума
выставлял в поле -
количество сообщений, после которого тема начинает разбиваться на несколько страниц.
и 15, и 30, и 20,
На главной форума остаётся по прежнему 15 топиков.
Может подскажешь в каком файлике и где править.


---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Файл forums.cgi, там это где-то задается в виде явной константы.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro  спасибо нашёл-
$maxtopics = 15;
Нужно было самому по коду пробежаться ;)
Как говорят.. не так страшен чёрт как его молюют ;)

как таки линки на больших тема "порезать" решение ведь наверное есть? или это сложно?


---
FYI  AKA  Shatun
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro поднимая старую тему..
Может можно с этим что придумать??
уж очень много линков :((
если поставить 25 сообщений форуме, тормоза жудкие :(

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Проблема в том, что передается номер сообщения, а не номер страницы, и надо сделать формулу для аналитического пересчета (чтобы знать номер текущей страницы до начала цикла while). Но дело в том, что номер сообщения не всегда кратен номеру страницы. В частности, если переменная start не указана явно, то показываются последние $maxthreads сообщений, т.е. если $maxthreads=10, а число сообщений в теме = 55, то покажутся сообщения с 45 по 54, и в обработке вот таких ситуаций и возникают проблемы.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro я не знаю как у FAF Team, но ведь на ру-боард вроде всё работает...
Ты можешь сказать по честному (пока линки до пола не опустились :)  ;) Будет хак для желающих или что подобное?
Нууу очень нужно..


---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
В ближайшие две недели я этим точно не буду заниматься.
Попробуй обратиться к AlexanderIpp на FAF. Вполне может быть, что у него есть готовый хак или он его сделает. Или вырежи кусок кода разбиения на страницы из RuBoard-версии.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro спасибо!
Хак нашёл и поставил!

---
FYI  AKA  Shatun
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Igor
Это все конечно замечательно и я рад за вас, что вы нашли хак, НО не нужно забывать о других участниках форума, у которых быть может та же проблема, что и у вас, но они до сих пор не знают как ее решить. Мораль: нашли решение проблемы, поделитесь решением.  Спасибо.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
Gram в своё оправдание могу сказать....
всё дело в том что с 24 июня 2003  в этом топике никто не ответил и не задал своего вопроса по этой теме (чтоб поддержать). Эта тема осталась забытой   :(   Я так понял что я один такой дотошный и мучаю XXXX Pro тем что никому не нужно..
Вывод..
Если нужна такая опция... поддержи топик :)

не вопрос выкладываю ..
Откройте topic.cgi. Найдите:
Код:
    if ($showmore eq "yes") {<br>     if ($maxthreads < $numberofitems) {<br>        ($integer,$decimal) = split(/\./,$numberofpages);<br>        if ($decimal > 0) { $numberofpages = $integer + 1; }<br>            $pagestart = 0; $counter = 0;<br>            while ($numberofpages > $counter) {<br>                $counter++;<br>                if ($instart ne $pagestart) { $pages .= qq~<a href="$thisprog?forum=$inforum&topic=$intopic&start=$pagestart"><font face="$font" color=$fonthighlight size=$dfontsize1><b>$counter</b></font></a> ~; }<br>                else { $pages .= qq~<font face="$font" color=$menufontcolor size=$dfontsize1><b>$counter</b></font> ~; }<br>            $pagestart = $pagestart + $maxthreads;<br>            }<br>            if ($instart ne "all") { $pages .= qq~<a href="$thisprog?forum=$inforum&topic=$intopic&start=all"><font face="$font" color=$fonthighlight size=$dfontsize1><b>#</b></font></a> ~; }<br>            else { $pages .= qq~<font face="$font" color=$menufontcolor size=$dfontsize1><b>#</b></font> ~; }<br>        }<br>     $pages = qq~<font face="$font" color=$menufontcolor size=$dfontsize1><b>Несколько страниц</b> [ $pages ]~;
замени на
if ($showmore eq "yes") { <br>if ($maxthreads < $numberofitems) { <br>($integer,$decimal) = split(/\./,$numberofpages); <br>if ($decimal > 0) { $numberofpages = $integer + 1; } <br>$pagestart = 0; $counter = 0; <br>while ($numberofpages > $counter) { <br>$counter++; <br>if ($counter <= 6 || ($counter >= ($numberofpages - 5))) { <br>if ($instart ne $pagestart) { $pages .= qq~<a href="$thisprog?forum=$inforum&topic=$intopic&start=$pagestart"><font face="$font" color=$menufontcolor size=$dfontsize1>$counter</font></a> ~; } <br>else { $pages .= qq~<a href="$thisprog?forum=$inforum&topic=$intopic&start=$pagestart"><font face="$font" color=$fonthighlight size=$dfontsize1><b>$counter</b></font></a> ~; } <br>      } else { <br>      if ($p_stop ne "yes") { <br>            $pages .= "..."; <br>            $p_stop = "yes"; <br>            } <br>            } <br>$pagestart = $pagestart + $maxthreads; <br>} <br>} <br>     $npage_link = $instart+$maxthreads; <br>     $ppage_link = $instart-$maxthreads; <br>     $pages = qq~<font face="$font" color=$menufontcolor size=$dfontsize1><b>$ibtxt{'3008'}</b> [<a href="$thisprog?forum=$inforum&topic=$intopic&start=$ppage_link"><<</a> $pages <a href="$thisprog?forum=$inforum&topic=$intopic&start=$npage_link">>></a>]~; <br>     }
Откройте forums.cgi.
Найдите:
Код:
       if ($numberofitems > $maxthreads) { #if<br>                <br>            if ($maxthreads < $numberofitems) { #2<br>                ($integer,$decimal) = split(/\./,$numberofpages);<br>                    if ($decimal > 0) { $numberofpages = $integer + 1; }<br>                        $pagestart = 0;<br>                        $counter = 0;<br>                        while ($numberofpages > $counter) { #3<br>                            $counter++;<br>                            $threadpages .= qq~<a href="$threadprog?forum=$inforum&topic=$topicid&start=$pagestart"> $counter </a>~;<br>                            $pagestart = $pagestart + $maxthreads;<br>                        } #e3<br>                        $threadpages .= qq~<a href="$threadprog?forum=$inforum&topic=$topicid&start=all"> # </a>~;                            <br>                        } #e2<br>                    $pagestoshow = qq~<font face="$font" color=$forumfontcolor size=$dfontsize1> &nbsp;[ Страницы&nbsp;$threadpages ]~;<br>                    } #1
замени на
if ($numberofitems > $maxthreads) { #if <p>if ($maxthreads < $numberofitems) { #2 <br>($integer,$decimal) = split(/\./,$numberofpages); <br>if ($decimal > 0) { $numberofpages = $integer + 1; } <br>$pagestart = 0; <br>$counter = 0; <br>                                   $stop = 0; <br>while ($numberofpages > $counter) { #3 <br>$counter++; <br>                                          if ($counter <= 5 || ($counter >= ($numberofpages-6))) { <br>      $threadpages .= qq~<a href="$threadprog?forum=$inforum&topic=$topicid&start=$pagestart"> $counter </a>~; <br>      } else { <br>                                                           if ($stop != 1) { <br>                                                            $threadpages .= "..."; <br>                                                            $stop = 1; <br>                                                            } <br>                                                           } <br>                                          $pagestart = $pagestart + $maxthreads; <br>} #e3 <br>} #e2 <br>$pagestoshow = qq~<font face="$font" color=$forumfontcolor size=$dfontsize1> &nbsp;[ $ibtxt{'0605'}&nbsp;$threadpages ]~; <br>} #1
=================
В строке
if ($counter <= 6 || ($counter >= ($numberofpages - 5))) {
6 - сколько показывать ссылок с начала, 5 - с конца. Можете менять по своему усмотрению.
P.S. XXXX Pro посмотри все работает, но может нужно что подправить?


---
FYI  AKA  Shatun
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro похоже я что-то лишнее удалил пропал знак - #
Тему нельзя целиком просмотреть.

---
FYI  AKA  Shatun
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Переменную $ibtext{'3008'} надо заменить на ее значение. (В RuBoard-версии все сообщения вынесены в отдельный файл с расширением .lib, вот оттуда надо взять это самое значение и добавить его в этот кусок кода). Остальное все выглядит относительно нормально...
Может быть, в будущем, я доработаю этот хак, чтобы темы показывались так: 1..100...200...210...220...230...240...250 251 252 253 254 255 256 257 258 259 260 270...280...290...300...400 и т.д., если придумаю, как это сделать.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
XXXX Pro переменные - $ibtext{'3008'} убрал.
в файлике forums.cgi.
немного подправил -
изменить строку- } #e3 <br>} #e2 строкой -
} #e3 <br>                        $threadpages .= qq~<a href="$threadprog?forum=$inforum&topic=$topicid&start=all"> # </a>~;                            <br>} #e2 теперь вроде точно работает!

---
FYI  AKA  Shatun
Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
если есть желание чтоб # присутствовал  и внутри самих топиков
В файлике topic.cgi
после строк..      if ($p_stop ne "yes") { <br>            $pages .= "..."; <br>            $p_stop = "yes"; <br>            } <br>            } <br>$pagestart = $pagestart + $maxthreads; <br>}
нужно добавить..
if ($instart ne "all") { $pages .= qq~<a href="$thisprog?forum=$inforum&topic=$intopic&start=all"><font face="$font" color=$fonthighlight size=$dfontsize1><b>#</b></font></a> ~; }<br>            else { $pages .= qq~<font face="$font" color=$menufontcolor size=$dfontsize1><b>#</b></font> ~; }
на этом всё!
Всё проверил, работает.

---
FYI  AKA  Shatun
<<Назад  Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак - сокращенные ссылки на страницы темы
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0325. Количество выполненных запросов: 18, время выполнения запросов 0.0149