Loo Опубликовано 31 Июля 2004 Жалоба Поделиться Опубликовано 31 Июля 2004 Вообщем вот такая проблема...скачал мод последних постов, тот в котором два документа:один текстовый, а другой ХТМЛ страница. Установил, всё катит-круто, но вот при клике на эту ссылку, страница переходит на самое начало темы...как можно сделать чтобы при нажатии на ссылку, страница перешла не в начало, а на первое непрочитанное сообщение? Помогите- это ведь не сложно вроде... Вот кстати код //---------------------------------------------------------------------------// Этот хак является добавлением к ssi.php, который будет показывать последние сообщения (количество меняется) на вашем форуме (либо странице). //---------------------------------------------------------------------------// Шаг 1: Через FTP закачайте файл lastposts.html в папку ssi_templates Шаг 2:Откройте ssi.php Найдите : case 'stats': do_stats(); break; И ниже добавьте: case 'lastposts': do_lastposts(); break; Шаг 3: В этом же файле найдите: echo $to_echo; exit(); } И после этого добавьте : //-------------------------------------------------// Last Posts//-------------------------------------------------function do_lastposts() { global $DB, $ibforums, $root_path, $templates_dir, $std, $INFO; $admin_forums = '(0)'; // ID разделов, которые вы хотите спрятать; $limit = "5"; // Количество 'последних постов' $prefix = $INFO['sql_tbl_prefix']; $template = load_template("lastposts.html"); $to_echo = ""; $DB->query( "SELECT p.pid, p.author_name, p.post_date, p.forum_id, p.topic_id, p.author_id, t.title ,f.name FROM ".$prefix."posts p , ".$prefix."topics t, ".$prefix."forums f WHERE t.tid=p.topic_id AND t.forum_id=f.id AND p.forum_id NOT IN ".$admin_forums." ORDER BY pid DESC LIMIT 0,".$limit." " ); if ( ! $DB->get_num_rows() ) { fatal_error("Could not get the information from the database"); } while( $out = $DB->fetch_row($query) ) { $thread_title = $out['title']; $forum_name =$out['name']; $author = $out['author_name']; $out['post_date'] = $std->get_date( $out['post_date'], 'LONG' ); $date = $out['post_date']; $to_echo .= parse_template( $template,array ( 'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&hl=entry".$out['pid'], 'thread_title' => $thread_title, 'forum_url' => $ibforums->base_url."?act=SF&f=".$out['forum_id'], 'forum_name' => $forum_name, 'date' => $date, 'author' => $author, 'profile_link' => $ibforums->base_url."?act=Profile&CODE=03&MID=".$out['author_id'], ) ); } // Parse template echo "<table cellpadding='4' cellspacing='1' border='0' width='40%' bgcolor='#000000'style='font-family:Verdana;font-size:11px'>";echo "<tr>";echo "<td align='left' bgcolor='#CCCCCC'><b>Последние сообщения</b></td>";echo "</tr>";echo "<tr>";echo "<td align='left'bgcolor='#FEFEFE'>"; echo $to_echo;echo "</td>";echo "</tr>";echo "</table>";echo "<br>"; } Шаг 4 (необязательный) : Если вы хотите, чтобы последние сообщения показывались из всех разделов, то в Шаге 4 замените значение "$admin_forums" на "0". Пример: $admin_forums = '(0)'; // ID разделов, которые вы хотите спрятать; Если Вы хотите спрятать ОДИН раздел, то измените значение "$admin_forums", как указано ниже: $admin_forums = '(**)'; // ID разделов, которые вы хотите спрятать; (Где "**" - ID раздела, который вы хотите спарятать. То есть сообщения оставленные в этом разделе не будут выноситься в поле Last Posts) Если Вы хотите спрятать БОЛЬШЕ, ЧЕМ ОДИН раздел, то по тому же принципу внесите ID нужных разделов в "$admin_forums" ЧЕРЕЗ ЗАПЯТУЮ!! Пример: $admin_forums = '(23,34,2,4)'; // ID разделов, которые вы хотите спрятать; Если Вы хотите поменять стандартное количество выводимых на обозрение последних постов, то в Шаге 4 замените значение "$limit " на нужное (1,2,3,4,5,6.....) Пример: $limit = "5"; //// Количество последних постов постов Для того, чтобы выводить это на вашем сайте, вставьте в нужную станицу следущее: <?phpinclude("http://domain.com/forums/ssi.php?a=lastposts");?> THE END! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
arigoda Опубликовано 31 Июля 2004 Жалоба Поделиться Опубликовано 31 Июля 2004 Loo а что это за мод? где взял? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Loo Опубликовано 31 Июля 2004 Автор Жалоба Поделиться Опубликовано 31 Июля 2004 Дя я здесь его скачивал, во только его щас нет вроде. Э мод последних сообщений, я же написал. Это такой же как и мод "блок последних сообщений для PHP Nuke", те же файлы, только для нюки разумеется ещё один. Помогите пожалуйста Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
arigoda Опубликовано 31 Июля 2004 Жалоба Поделиться Опубликовано 31 Июля 2004 Loo а добавить вместо entry &view=getnewpost не поможет? и вообще - судя по ссылке, она должна не начало темы уводить, а именно на это сообщение, а оно подразумевается одним из последних в теме....может у тебя не та версия? посмотри как параметр передается... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Loo Опубликовано 31 Июля 2004 Автор Жалоба Поделиться Опубликовано 31 Июля 2004 Всё, пробелма решенна...внимательно изучив ссылку "к последнему непрочитанному сообщению" сделал так же. Вот что было'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&hl=entry".$out['pid'], А вот что получилось'thread_url' => $ibforums->base_url."?act=ST&f=".$out['forum_id']."&t=".$out['topic_id']."&view=getnewpost", Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.