Alex I Опубликовано 19 Декабря 2007 Жалоба Поделиться Опубликовано 19 Декабря 2007 Можно ли сделать отображение новых (непрочитанных) сообщений в топике?По аналогии с отображением новых тем в форуме.Если можно, то как? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 19 Декабря 2007 Жалоба Поделиться Опубликовано 19 Декабря 2007 Как Вы себе это представляете? Как это должно выглядеть? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Alex I Опубликовано 19 Декабря 2007 Автор Жалоба Поделиться Опубликовано 19 Декабря 2007 Как Вы себе это представляете? Как это должно выглядеть?К стандартному отображению сообщения в теме, состоящему из двух столбцов (данные автора и само сообщение), добавляется третий столбик, в котором находится флажок "прочитанное/непрочитанное сообщение".Аналогия - список тем в форуме. В первой графе значок "Есть новые ответы/Нет новых ответов".Для чего думаю сделать. В принципе, куча данных о пользователе в каждом посте темы не есть гут. Достаточно ограничиться ником и группой.А вот подсказать пользователю, какие сообщения в этой теме он не читал, можно.Баланс таким образом будет сохранен. Реализация вероятнее всего через RenderRow файла skin_topic. Как считаете, можно реализовать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 19 Декабря 2007 Жалоба Поделиться Опубликовано 19 Декабря 2007 В 1.х недоделаная система определения статуса "прочитано".Например, в топике 17 постов: 15 на первой странице и 2 на второй.Допустим, 4 непрочитанных.Если я перешел на первую страницу, движок зафиксировал время моего перехода в топик и пометил все сообщения, написанные ранее, прочитанными. Даже если я не заглянул на вторую страницу и не прочитал 2 последних сообщения - эти сообщения будут иметь статус прочитанных.Информация о "прочитанности" хранится в куках, а не в БД. ИМХО, нет смысла вешать дополнительные флажки. А вот информацией о пользователе можно пользоваться для насыщения страницы релевантными словами. Те же статусы пользователей можно насытить словами, по которым хочешь находиться в поисковках. ИМХО, крайне полезная штука. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Alex I Опубликовано 19 Декабря 2007 Автор Жалоба Поделиться Опубликовано 19 Декабря 2007 В 1.х недоделаная система определения статуса "прочитано".Например, в топике 17 постов: 15 на первой странице и 2 на второй.Допустим, 4 непрочитанных.Если я перешел на первую страницу, движок зафиксировал время моего перехода в топик и пометил все сообщения, написанные ранее, прочитанными. Даже если я не заглянул на вторую страницу и не прочитал 2 последних сообщения - эти сообщения будут иметь статус прочитанных.Информация о "прочитанности" хранится в куках, а не в БД. Сложно.Большое спасибо за подробный ответ Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 19 Декабря 2007 Жалоба Поделиться Опубликовано 19 Декабря 2007 Как Вы себе это представляете? Как это должно выглядеть?К стандартному отображению сообщения в теме, состоящему из двух столбцов (данные автора и само сообщение), добавляется третий столбик, в котором находится флажок "прочитанное/непрочитанное сообщение".Аналогия - список тем в форуме. В первой графе значок "Есть новые ответы/Нет новых ответов".Для чего думаю сделать. В принципе, куча данных о пользователе в каждом посте темы не есть гут. Достаточно ограничиться ником и группой.А вот подсказать пользователю, какие сообщения в этой теме он не читал, можно.Баланс таким образом будет сохранен. Реализация вероятнее всего через RenderRow файла skin_topic. Как считаете, можно реализовать? Ну так это уже в принципе неявно сделано.Вы нажимаете на иконку gonewpost и форум автоматически перемещает вас к первому новому посту в теме. Это сообщение и все остальные посты ниже являются новыми. В 1.х недоделаная система определения статуса "прочитано".Например, в топике 17 постов: 15 на первой странице и 2 на второй.Допустим, 4 непрочитанных.Если я перешел на первую страницу, движок зафиксировал время моего перехода в топик и пометил все сообщения, написанные ранее, прочитанными. Даже если я не заглянул на вторую страницу и не прочитал 2 последних сообщения - эти сообщения будут иметь статус прочитанных.Информация о "прочитанности" хранится в куках, а не в БД. ИМХО, нет смысла вешать дополнительные флажки. А вот информацией о пользователе можно пользоваться для насыщения страницы релевантными словами. Те же статусы пользователей можно насытить словами, по которым хочешь находиться в поисковках. ИМХО, крайне полезная штука.Есть же модификация для 1.х, которая эту систему перемещает в БД. Исправляет проблему раз и навсегда (правда даёт другие, но это, как говорит Каневский "совсем другая история.." (ц) ) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 KVentz Опубликовано 19 Апреля 2008 Жалоба Поделиться Опубликовано 19 Апреля 2008 Ну так это уже в принципе неявно сделано.Вы нажимаете на иконку gonewpost и форум автоматически перемещает вас к первому новому посту в теме. Это сообщение и все остальные посты ниже являются новыми.Это всё понятно, но пользователи, особенно привыкшие к другим движкам типа phpBB и vBulletin хотят непосредственно в самой теме видеть с какого места начинаются непрочитанные сообщения. Отчасти это связано с тем, что при большом количестве картинок место, на которое был перекинут фокус по ссылке #nnn уезжает вниз и найти его после загрузки всей страницы очень сложно. Также, если сначала прочитал всю страницу обсуждения, а потом хочешь вернуться к первому непрочитанному сообщению, чтобы начать отвечать, то просто так это сообщение не найдёшь: или копайся в них или перезагружай страницу. Это неудобно. Выглядит это элементарно. Слева от даты сообщения в списке сообщений есть крошечный значок to_post_off.gif. Для непрочитанных сообщений картинка должна быть to_post.gif. В phpBB этот значок для непрочитанных сообщений просто другого цвета, оранжевый, например. Уж не знаю, где и искать решение — неужели этого никто не делал? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 19 Апреля 2008 Жалоба Поделиться Опубликовано 19 Апреля 2008 Выглядит это элементарно. Слева от даты сообщения в списке сообщений есть крошечный значок to_post_off.gif. Для непрочитанных сообщений картинка должна быть to_post.gif. В phpBB этот значок для непрочитанных сообщений просто другого цвета, оранжевый, например.Хорошая идея.Займусь при случае. Собственно, сделал. skin_topic.phpНайти: <!-- POSTED DATE DIV --> <div align='left' class='row4' style='float:left;padding-top:4px;padding-bottom:4px'>Добавить ниже:<script type="text/javascript"> sURLt = location + ''; if(sURLt.split('#entry')!=sURLt) { firstnewpid = sURLt.split('#entry')[1]*1 ispid = {$post['pid']}*1 if(ispid<firstnewpid)document.write("<img src='{$ibforums->vars['img_url']}/f_norm_no.gif' alt='Это сообщение прочитано' width=18 height=12 border=0>"); else document.write("<img src='{$ibforums->vars['img_url']}/f_norm.gif' alt='Это сообщение не прочитано' width=18 height=12 border=0>"); } </script>Альты загонять в ленги поленился. Если кому надо - пусть сам загоняет. Будет показывать и на view=getlastpost...И не будет показывать при переходе на следующую страницу...Но это предел возможностей джаваскрипт. Заморачиваться с пхп в этом вопросе я тоже поленюсь. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 KVentz Опубликовано 21 Апреля 2008 Жалоба Поделиться Опубликовано 21 Апреля 2008 Собственно, сделал.О, спасибо, поправил под 2.3, всё работает, как временное решение вполне подойдёт. В skin_topic.php (skin_topic -> RenderRow) найти {$post['post_icon']}<img src='{$this->ipsclass->vars['img_url']}/to_post_off.gif' alt='{$this->ipsclass->lang['to_post_alt']}' border='0' style='padding-bottom:2px' />заменить на <script type="text/javascript"> sURLt = location + ''; if (sURLt.split('#entry') != sURLt) { firstnewpid = sURLt.split('#entry')[1] * 1; ispid = {$post['pid']} * 1; if (ispid < firstnewpid) document.write ("<img src='{$this->ipsclass->vars['img_url']}/to_post_off.gif' alt='{$this->ipsclass->lang['to_post_alt']}' border='0' style='padding-bottom:2px' />"); else document.write ("<img src='{$this->ipsclass->vars['img_url']}/to_post.gif' alt='{$this->ipsclass->lang['to_post_alt']}' border='0' style='padding-bottom:2px' />"); } else { document.write ("<img src='{$this->ipsclass->vars['img_url']}/to_post_off.gif' alt='{$this->ipsclass->lang['to_post_alt']}' border='0' style='padding-bottom:2px' />"); } </script> В идеале, конечно, сделать бы это средствами PHP, но тут надо подробно разбирать то, как форум хранит непрочитанные сообщения. Если не умру от лени и никто другой к тому времени не сделает - займусь. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Alex I
Можно ли сделать отображение новых (непрочитанных) сообщений в топике?
По аналогии с отображением новых тем в форуме.
Если можно, то как?
Ссылка на комментарий
Поделиться на других сайтах
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.