Перейти к контенту

[1.x.x]Нумерация сообщений


Рекомендуемые сообщения

Название: Нумерация сообщений

Добавил: Гость

Добавлен: 04 Апр 2003

Обновлен: 04 Апр 2003

Категория: IP.Board 1.x.x

 

Хак нумерации сообщений. Выводит в каждом сообщении его номер и ссылку на него.

Последнее обновление 9.04.2003. Исправлен баг с отображением в Opera.

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

Почему-то по сравнению со статистикой на главной странице, нумерация отличается на 40 (т.е. на главной - 2006, например, а сообщение - 2046). Почему это может быть и как с этим справится?

У вас, кстати, тоже разница наблюдается...

Изменено пользователем Dr F
Ссылка на комментарий
Поделиться на других сайтах

Dr F

Потому что при удалении постов,они вычитываются из статистики,но не вычитываются из счетчика сообщений.

И это не баг ,а фича :D

Ссылка на комментарий
Поделиться на других сайтах

Dr F

Есть хак написанный Paley,он пересчитывает всю базу.

 

Только подумай ,а оно тебе надо ?

Что-будет если твои юзеры будут давать ответы в стиле в таком то топике сообщение номер такое то,а ты пересчитаешь базу ?

Да и линки на сообщения перестанут работать

Ссылка на комментарий
Поделиться на других сайтах

а какая разница в номере сообщения в моем хаке?

 

Хак создан для того, чтобы улучшить навигацию. Сам номер можно вообще убрать. ЭТа ссылка на конкретное сообщение дает другим пользователям возможность давать ссылки в других темах на это конкретное сообщение :D

Ссылка на комментарий
Поделиться на других сайтах

Oska

Я это и говорю

 

Dr F

Вот например возьмем эту ссылку

http://www.ibresource.ru/forums/index.php?...0#entry1893

 

Сейчас она показывает на сообщение номер 1893,а вот представь ты пересчитал базу и теперь у тебя нет такого сообщения,куда этот линк будет показывать ?

Ссылка на комментарий
Поделиться на других сайтах

KarBus

редактируй файл скин_топик или соотв. шаблон, там всё просто

Ссылка на комментарий
Поделиться на других сайтах

KarBus

находишь в файле skin_topic.php вот эту строчку:

<td class='posthead'>{$data[POST]['post_icon']}<span class='postdetails'><b>{$ibforums->lang['posted_on']}</b> {$data[POST]['post_date']}

И добавляешь после нее вот эту

 | <a href='{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}?act=ST&f={$data[FORUM]['id']}&t={$data['TOPIC']
['tid']}&st={$data[STPID]}entry{$data['POST']['pid']}'>Сообщение №{$data['POST']['pid']}</a>

Только учти что после этой строчки там закрываются два тега

</span> и </td>

, не потеряй их

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

А вот следующий прикол.

Если не ставить в заголовок поста иконку - то дата и номер сообщения ценруются по вертикали. А как только добавляешь иконку (как в этом сообщении) - они почему-то форматируются по "bottom" линнии. ;)

 

Есть идеи как это дело пофиксить? :D

Ссылка на комментарий
Поделиться на других сайтах

У меня есть другое предложения, прикрепить по умолчанию какую-нибудь картинку, чтобы она всегда показывалась.... Но это только в полной форме ответа, а как сделать в быстрой я не знаю.... Есть идеи?
Ссылка на комментарий
Поделиться на других сайтах

dfx

Хм... по идее, в skin_topic.php после

<form action='{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}' method='POST' name='REPLIER' onSubmit='return ValidateForm()'>
<input type='hidden' name='st' value='0'>
<input type='hidden' name='act' value='Post'>

надо добавить

<input type='hidden' name='iconid' value='1'>

Не проверял... :D

Ссылка на комментарий
Поделиться на других сайтах

А смысл этого всего? ;)

Это же не делает конкретную иконку конкретному юзеру.

У всех будут дефаултные иконки одинаковые. Не вижу смысла. :D

Ссылка на комментарий
Поделиться на других сайтах

dfx

вмсето номера сообщения картинку? А каков смысл? Или ты хочешь получать картинку используя GD? В таком случае вижу ещё меньше смысла от этого.

Можно конечно сделать стрелочку и альтнуть номер мессаги под неё но если чел неопытен то врядли разберётся что это такое

Ссылка на комментарий
Поделиться на других сайтах

GRINGO

да вместо какого номера? Ты меня не понял....

Перед датой при отправке сообщения через форму быстрого ответа иконка не ставится, а когда ставится получается сдвиг, вот я хочу чтобы все время ставилась...

Вот theIggs понял.... сенькью вери мач!

Ссылка на комментарий
Поделиться на других сайтах

dfx

Я исхожу всегда от темы обсуждения и если тема "Нумерация сообщений" то разговор тут должен быть именно по этой теме в противном случае я в будующем буду либо игнорить вообще такие посты, либо удалять их без предупреждений.

Ссылка на комментарий
Поделиться на других сайтах

Если не ставить в заголовок поста иконку - то дата и номер сообщения ценруются по вертикали. А как только добавляешь иконку (как в этом сообщении) - они почему-то форматируются по "bottom" линнии. 

 

Есть идеи как это дело пофиксить?

так что?

Ссылка на комментарий
Поделиться на других сайтах

Chosen

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

Ссылка на комментарий
Поделиться на других сайтах

  • 5 недель спустя...

Посмотрел хак, обнаружил проблему: если удалить несколько постов перед тем, на который ссылаются, то фигня получается!

Я нашел лучший вариант для этого хака:

 

1. В файле /sources/Topics.php найти строчку

$this->output .= $this->html->RenderRow( array( 'POST' => $row, 'POSTER' => $poster ) );

и заменить ее на

$this->output .= $this->html->RenderRow( array( 'POST' => $row, 'POSTER' => $poster, 'TOPIC' => $this->topic, 'FORUM' => $this->forum ) );

2. В файле /Skin/s*/skin_topic.php найти строчку

<td class='posthead'>{$data[POST]['post_icon']}<span style='font-size: 10px;'><b>{$ibforums->lang['posted_on']}</b> {$data[POST]['post_date']}</td>

и ДОБАВИТЬ ПОСЛЕ нее

<td class='posthead' align='center'><a href='{$ibforums->base_url}&act=ST&f={$data[FORUM][id]}&t={$data[TOPIC][tid]}&view=findpost&p={$data[POST][pid]}'>#{$data[POST]['pid']}</a></td>

Здесь весь смысл в использовании функции findpost, которая используется в движке для поиска постов! Тогда вычисление нужной страницы и числа постов на страницу будет отдано на откуп движку, а он с этим справляться умеет :D

Ссылка на комментарий
Поделиться на других сайтах

Я тута обнаружил, что не во всех версиях движка есть функция findpost! Если ее нету, то требуется ее добавить:

 

В файле sources/Topics.php найти строчку

else if ($ibforums->input['view'] == 'getlastpost')

 

и ВСТАВИТЬ ПЕРЕД ней

      else if ($ibforums->input['view'] == 'findpost')
     {
       $pid = intval($ibforums->input['p']);
       
       if ( $pid > 0 )
       {
         $DB->query("SELECT COUNT(pid) as posts FROM ibf_posts WHERE topic_id='".$this->topic['tid']."' AND pid <= '".$pid."'");
         
         $cposts = $DB->fetch_row();
         
         if ( (($cposts['posts']) % $ibforums->vars['display_max_posts']) == 0 )
         {
           $pages = ($cposts['posts']) / $ibforums->vars['display_max_posts'];
         }
         else
         {
           $number = ( ($cposts['posts']) / $ibforums->vars['display_max_posts'] );
           $pages = ceil( $number);
         }
         
         $st = ($pages - 1) * $ibforums->vars['display_max_posts'];
         
         $std->boink_it($ibforums->base_url."&act=ST&f=".$this->topic['forum_id']."&t=".$this->topic['tid']."&st=$st"."entry".$pid);
         exit();
       }
       else
       {
         $this->return_last_post();
       }
     }

Ссылка на комментарий
Поделиться на других сайтах

А если сообщение на которое ссылаются будет перемещено в другой форум/топик? Можно, чтобы и тогда оно находилось?
Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.