Вообщем у меня стоит форум ipb 2.0.4 к нему я прикрепил портальную систему "mkportal", на главной странице этого портала выведен блок новостей, который берёт последние 10 новостей из самого модуля новостей. Проблема в том что в этом блоке нет нумерации страниц, т.е. на главной странице отображается всего 10 новостей, а перейти на следующую страницу не представляется возможным, в самом модуле (при выборе одной из категорий) нумерация страниц имеется, хотел бы сделать её и в блоке, вот код модуля: | Код | <?
function delete_news() { global $mkportals, $DB, $std, $mklib;
if(!$mkportals->member['g_access_cp'] && !$mklib->member['g_mod_news']) { $message = "{$mklib->lang[ne_noautdeln]}"; $mklib->error_page($message); exit; }
$idnews = $mkportals->input['idnews'];
$DB->query("DELETE FROM mkp_news WHERE id = $idnews"); $DB->close_db(); Header("Location: index.php?ind=news"); exit; } function submit_comment() { global $mkportals, $mklib, $Skin, $DB; $ide= $mkportals->input['idnews']; $query = $DB->query( "SELECT titolo FROM mkp_news where id = '$ide'"); $row = $DB->fetch_row($query); $content = " <tr> <td>
<script type=\"text/javascript\"> function emo_pop() { window.open('{$mkportals->base_url}act=legends&CODE=emoticons&s={$mkportals->session_id}','Legends','width=250,height=500,resizable=yes,scrollbars=yes'); } </script> <table class=\"moduleborder\" cellspacing=\"1\" cellpadding=\"0\" width=\"98%\" align=\"center\" border=\"0\">
<tr> <td> <table class=\"modulebg\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" border=\"0\"> <tr> <td class=\"tdblock\" width=\"100%\" height=\"25\"><img src=\"$mklib->images/arrow.gif\" alt=\"\" />{$mklib->lang['ne_commentnew']} <i>{$row['titolo']}</i></td> </tr> <tr> <td> <form action=\"index.php?ind=news&op=add_comment\" name=\"editor\" method=\"post\" > <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"8\"> <tr> <td rowspan=\"3\" align=\"center\" height=\"100%\"> <input type=\"hidden\" name=\"ide\" value=\"$ide\" /> <iframe src=\"index.php?ind=news&op=show_emoticons\" frameborder=\"0\" width=\"200\" align=\"middle\" height=\"200\" scrolling=\"auto\"></iframe> </td> <td>{$mklib->lang['ne_writecomm']}</td> </tr> <tr> <td width=\"70%\" align=\"left\"> <textarea cols=\"10\" style=\"width:95%\" rows=\"4\" name=\"ta\"></textarea> </td> </tr> <tr> <td> <input type=\"submit\" name=\"submit\" value=\"{$mklib->lang['ne_sendcomm']}\" class=\"button2\" accesskey=\"s\" /><br /> </td> </tr> </table> </form> </td> </tr> </table> </td> </tr> </table> </td> </tr> "; $blocks = $Skin->view_block("{$mklib->lang['ne_addcomment']}", $content); $mklib->printpage("1", "1", "{$mklib->lang['ne_addcomment']}", $blocks); }
function add_comment() { global $mkportals, $DB, $mklib, $mklib_board; $ide = $mkportals->input['ide']; $testo = $mkportals->input['ta']; $autore = $mkportals->member['name']; if(!$mkportals->member['g_access_cp'] && !$mklib->member['g_send_comments']) { $message = "{$mklib->lang['ne_nosendcom']}"; $mklib->error_page($message); exit; } $cdata = time(); if (!$testo) { $message = "{$mklib->lang['ga_inserttx']}"; $mklib->error_page($message); exit; } $testo = $mklib_board->decode_smilies($testo); //$testo = addslashes($testo); $query="INSERT INTO mkp_news_comments(identry, autore, testo, data)VALUES('$ide', '$autore', '$testo', '$cdata')"; $DB->query($query); $DB->close_db(); Header("Location: index.php?ind=news&op=news_show_single&ide=$ide"); exit; } function del_comment() { global $mkportals, $DB, $mklib;
if(!$mkportals->member['g_access_cp'] && !$mklib->member['g_mod_news']) { $message = "{$mklib->lang['ne_nodelcomm']}"; $mklib->error_page($message); exit; }
$ide= $mkportals->input['ide']; $idcomm= $mkportals->input['idcomm']; $DB->query("DELETE FROM mkp_news_comments WHERE id = $idcomm"); $DB->close_db(); Header("Location: index.php?ind=news&op=news_show_single&ide=$ide"); exit; }
function show_emoticons() { global $mklib_board; $mklib_board->show_emoticons(); }
} ?>
|
А вот код блока, в который необходимо вставить нумерацию страниц: | Код | <? /* +-------------------------------------------------------------------------- | MkPortal | ======================================== | by Meo aka Luponero <Amedeo de longis> | | (c) 2004 mkportal.it | http://www.mkportal.it | Email: [email protected] | +--------------------------------------------------------------------------- | | > MKPortal | > Written By Amedeo de longis | > Date started: 9.2.2004 | +-------------------------------------------------------------------------- */
$limit = $this->config['news_block']; if (!$limit) { $limit = 5; }
$cont = ""; $content = ""; $link_user = $mklib_board->forum_link("profile");
$query = $DB->query( "SELECT id, titolo, icona FROM mkp_news_sections ORDER BY `id` DESC"); while( $row = $DB->fetch_row($query) ) { $icona = $row['icona']; $idcat = $row['id']; $categoria[$idcat]['titolo'] = $row['titolo']; switch($icona) { case '1': $image = "$this->images/icona_news.gif"; break; case '2': $image = "$this->images/icona_help.gif"; break; case '3': $image = "$this->images/icona_star.gif"; break; case '4': $image = "$this->images/icona_pc.gif"; break; case '5': $image = "$this->images/icona_world.gif"; break; default: $image = $icona; break; } $categoria[$idcat]['icona'] = $image; }
$query1 = $DB->query( "SELECT id, idcategoria, idautore, titolo, autore, testo, data FROM mkp_news WHERE validate = '1' ORDER BY `id` DESC LIMIT $limit"); while( $row = $DB->fetch_row($query1) ) { $idnt = $row['id']; $query2 = $DB->query( "SELECT id FROM mkp_news_comments where identry = '$idnt'"); $totcomments = $DB->get_num_rows($query2); $id_orig_name = $row['idautore']; $idcategoria = $row['idcategoria']; $titolo = stripslashes($row['titolo']); $name = $row['autore']; $testo = stripslashes($row['testo']); if ($this->mkeditor == "BBCODE") { $testo = $this->decode_bb($testo); $testo = $mklib_board->decode_smilies($testo); } $sezione = $categoria[$idcategoria]['titolo']; $icona = $categoria[$idcategoria]['icona']; $cdata = $this->create_date($row['data']); $news_words= stristr($testo, '<!--Break-->'); if ($this->config['news_html']) { $testo = str_replace ("<br />", " ", $testo); $testo = strip_tags ($testo); } if ($news_words) { $nwl = strlen($news_words); $tl = strlen($testo); $testo = substr ($testo, 0, $tl - $nwl); $testo .= "<br /> <b><a href=\"index.php?ind=news&op=news_show_single&ide={$row['id']}\">Читайте Далее...</a></b>"; }
$cont .= " <table class=\"tabnews\" cellspacing=\"2\" cellpadding=\"1\" width=\"100%\"> <tbody> <tr> <td class=\"tdblock\" valign=\"top\" width=\"95%\"><a href=\"index.php?ind=news&op=news_show_single&ide={$row['id']}\">$titolo</a></b></td> <td class=\"tdblock\" valign=\"top\" width=\"5%\"><b>$sezione</b> </td> </tr> <tr> <td colspan=\"2\"><br /> $testo </td> </tr> <tr> <td align=\"right\" colspan=\"2\"> <br /><i>{$this->lang['from']}<b> <a href=\"$link_user=$id_orig_name\">$name</a></b>, $cdata <a href=\"index.php?ind=news&op=submit_comment&idnews={$row['id']}\">{$this->lang['comments']}</a>($totcomments), <a href=\"index.php?ind=news&op=news_show_single&ide={$row['id']}\">{$this->lang['readall']}</a></i> </td> </tr> </tbody> </table> "; }
$content = " <tr> <td class=\"contents\"> <div class=\"taburlo\"> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td class=\"taburlo\" valign=\"top\"> {$cont} </td> </tr> </table> <br /><center>{$show_pages}</center><br /> </div> </td> </tr> ";
unset($cont); unset($row); unset($icona); unset($idcat); unset($categoria); unset($idnt); unset($query); unset($query2); unset($totcomments); unset($id_orig_name); unset($idcategoria); unset($titolo); unset($name); unset($testo); unset($sezione); unset($icona); unset($cdata); unset($news_words);
?>
|
По этой ссылке подробна описана выше написанная проблема, но нет решения. Заранее огромное спасибо!
|