Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Моды/Плагины | Моды/Mods
# 1 Тема: Модуль расширенного вывода новостей для PHP-Fusion-7
Planet
Пользователь

Avatar пользователя




Местный

Сообщений: 13
Зарегистрирован: 09 Августа 2008, 16:25:36
Сказали спасибо 0 раз
Статус: offline
Опубликовано 08 Сентября 2010, 19:20:19
Здравствуйте. недавно нашел вот такое дополнение, правда к 7 версии фьюжена
http://belsitemaker.com/news.php?readmore=43
Очень полезное, давно искал. Выводит краткие новости по категориям, как на всех НОРМАЛЬНЫХ движках.
единственный недостаток у него в том, что он выводит в категорию лишь 11 новостей и нет навигации по остальным, как это сделано внизу главной страницы news.php
Вопрос: как можно сделать эту навигацию, чтобы отображались все новости из просматриваемой категории?
сам не смог, экспериментировал.
Или может есть аналог этого мода?

Думаю, что это где-то в файлике news.php, поэтому привожу его код:

<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: news.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
require_once THEMES."templates/header.php";

// Predefined variables, do not edit these values
if ($settings['news_style'] == "1"smiley { $i = 0; $rc = 0; $ncount = 1; $ncolumn = 1; $news_[0] = ""; $news_[1] = ""; $news_[2] = ""; } else { $i = 1; }

// Number of news displayed
$items_per_page = $settings['newsperpage'];

add_to_title($locale['global_200'].$locale['global_077']);

if (!isset($_GET['readmore']) || !isnum($_GET['readmore'])) {
$rows = dbcount("(news_id)", DB_NEWS, groupaccess('news_visibility'smiley." AND (news_start='0'||news_start<=".time()."smiley AND (news_end='0'||news_end>=".time()."smiley AND news_draft='0'"smiley;
if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
if ($rows) {

if (!isset($_GET['readcat']) || !isnum($_GET['readcat'])) {

$result = dbquery(
"SELECT tn.*, tc.*, user_id, user_name FROM ".DB_NEWS." tn
LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
WHERE ".groupaccess('news_visibility'smiley." AND (news_start='0'||news_start<=".time()."smiley AND (news_end='0'||news_end>=".time()."smiley AND news_draft='0'
ORDER BY news_sticky DESC, news_datestamp DESC LIMIT ".$_GET['rowstart'].",$items_per_page"
);
}else{
$result = dbquery(
"SELECT tn.*, tc.*, user_id, user_name FROM ".DB_NEWS." tn
LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
WHERE ".groupaccess('news_visibility'smiley." AND (news_start='0'||news_start<=".time()."smiley AND (news_end='0'||news_end>=".time()."smiley AND news_draft='0' AND tn.news_cat=".$_GET['readcat']."
ORDER BY news_sticky DESC, news_datestamp DESC LIMIT ".$_GET['rowstart'].",$items_per_page"
);



$result2 = dbquery("SELECT * FROM ".DB_NEWS_CATS." WHERE news_cat_id='".$_GET['readcat']."'"smiley;
if (dbrows($result2)) {
$data = dbarray($result2);
$rows = dbcount("(news_cat_id)", DB_NEWS_CATS, "news_cat_id='".$_GET['readcat']."'"smiley;
if ($rows) {
echo "<table cellpadding='0' cellspacing='0' width='100%' style='margin-top:5px'>\n";
echo "<tr>\n<td class='main-body'>".stripslashes($data['news_cat_description'])."</td>\n";
echo "</tr>\n</table>\n";

}
}









}



if ($settings['news_style'] == "1"smiley { $nrows = round((dbrows($result) - 1) / 2); }
while ($data = dbarray($result)) {
$news_cat_image = "";
$news_subject = "<a name='news_".$data['news_id']."' id='news_".$data['news_id']."'></a>".stripslashes($data['news_subject']);
if ($data['news_cat_image']) {
$news_cat_image = "";
} else {
$news_cat_image = "";
}
$news_news = $data['news_breaks'] == "y" ? nl2br(stripslashes($data['news_news'])) : stripslashes($data['news_news']);
if ($news_cat_image != ""smiley $news_news = $news_cat_image.$news_news;
$news_info = array(
"news_id" => $data['news_id'],
"user_id" => $data['user_id'],
"user_name" => $data['user_name'],
"news_date" => $data['news_datestamp'],
"news_ext" => $data['news_extended'] ? "y" : "n",
"news_reads" => $data['news_reads'],
"news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."'"smiley,
"news_allow_comments" => $data['news_allow_comments']
);
if ($settings['news_style'] == "1"smiley {
if ($rows <= 2 || $ncount == 1) {
$news_[0] .= "<table width='100%' cellpadding='0' cellspacing='0'>\n";
$news_[0] .= "<tr>\n<td class='tbl2'><strong>".$news_subject."</strong></td>\n</tr>\n";
$news_[0] .= "<tr>\n<td class='tbl1' style='text-align:justify'>".$news_news."</td>\n</tr>\n";
$news_[0] .= "<tr>\n<td align='center' class='tbl2'>\n";
$news_[0] .= "<span class='small2'>".THEME_BULLET." <a href='profile.php?lookup=".$news_info['user_id']."'>".$news_info['user_name']."</a> ".$locale['global_071'].showdate("longdate", $news_info['news_date'])." ·\n";
if ($news_info['news_ext'] == "y" || $news_info['news_allow_comments']) {
$news_[0] .= $news_info['news_ext'] == "y" ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."'>".$locale['global_072']."</a>
·\n" : "";
$news_[0] .= $news_info['news_allow_comments'] ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."'>".$news_info['news_comments'].($news_inf
o['news_comments'] == 1 ? $locale['global_073b'] : $locale['global_073'])."</a> ·\n" : "";
$news_[0] .= $news_info['news_reads'].$locale['global_074']." ·\n";
}
$news_[0] .= "<a href='print.php?type=N&item_id=".$news_info['news_id']."'><img src='".get_image("printer"smiley."' alt='".$locale['global_075']."' style='vertical-align:middle;border:0;' /></a>";
if (checkrights("N"smiley) { $news_[0] .= " · <a href='".ADMIN."news.php".$aidlink."&action=edit&news_id=".$news_info['news_id']."'><img src='".get_image("edit"smiley."' alt='".$locale['global_076']."' title='".$locale['global_076']."' style='vertical-align:middle;border:0;' /></a></span>\n"; } else { $news_[0] .= "</span>\n"; }
$news_[0] .= "</td>\n</tr>\n</table>\n";
if ($ncount != $rows) { $news_[0] .= "<div><img src='".get_image("blank"smiley."' alt='' width='1' height='8' /></div>\n"; }
} else {
if ($i == $nrows && $ncolumn != 2) { $ncolumn = 2; $i = 0; }
$row_color = ($rc % 2 == 0 ? "tbl2" : "tbl1"smiley;
$news_[$ncolumn] .= "<table width='100%' cellpadding='0' cellspacing='0'>\n";
$news_[$ncolumn] .= "<tr>\n<td class='tbl2'><strong>".$news_subject."</strong></td>\n</tr>\n";
$news_[$ncolumn] .= "<tr>\n<td class='tbl1' style='text-align:justify'>".$news_news."</td>\n</tr>\n";
$news_[$ncolumn] .= "<tr>\n<td align='center' class='tbl2'>\n";
$news_[$ncolumn] .= "<span class='small2'>".THEME_BULLET." <a href='profile.php?lookup=".$news_info['user_id']."'>".$news_info['user_name']."</a> ".$locale['global_071'].showdate("longdate", $news_info['news_date']);
if ($news_info['news_ext'] == "y" || $news_info['news_allow_comments']) {
$news_[$ncolumn] .= "<br />\n";
$news_[$ncolumn] .= $news_info['news_ext'] == "y" ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."'>".$locale['global_072']."</a>
·\n" : "";
$news_[$ncolumn] .= $news_info['news_allow_comments'] ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."#comments'>".$news_info['news_comments'].(
$news_info['news_comments'] == 1 ? $locale['global_073b'] : $locale['global_073'])."</a> ·\n" : "";
$news_[$ncolumn] .= $news_info['news_reads'].$locale['global_074']." ·\n";
} else {
$news_[$ncolumn] .= " ·\n";
}
$news_[$ncolumn] .= "<a href='print.php?type=N&item_id=".$news_info['news_id']."'><img src='".get_image("printer"smiley."' alt='".$locale['global_075']."' style='vertical-align:middle;border:0;' /></a>\n";
if (checkrights("N"smiley) { $news_[$ncolumn] .= " · <a href='".ADMIN."news.php".$aidlink."&action=edit&news_id=".$news_info['news_id']."'><img src='".get_image("edit"smiley."' alt='".$locale['global_076']."' title='".$locale['global_076']."' style='vertical-align:middle;border:0;' /></a></span>\n"; } else { $news_[$ncolumn] .= "</span>\n"; }
$news_[$ncolumn] .= "</td>\n</tr>\n</table>\n";
if ($ncolumn == 1 && $i < ($nrows - 1)) { $news_[$ncolumn] .= "<div><img src='".get_image("blank"smiley."' alt='' width='1' height='8' /></div>\n"; }
if ($ncolumn == 2 && $i < (dbrows($result) - $nrows - 2)) { $news_[$ncolumn] .= "<div><img src='".get_image("blank"smiley."' alt='' width='1' height='8' /></div>\n"; }
$i++; $rc++;
}
$ncount++;
} else {
echo "<!--news_prepost_".$i."-->\n";
$i++;
render_news($news_subject, $news_news, $news_info);
}
}
if ($settings['news_style'] == "1"smiley {
opentable($locale['global_077']);
echo "<table cellpadding='0' cellspacing='0' style='width:100%'>\n<tr>\n<td colspan='3' style='width:100%'>\n";
echo $news_[0];
echo "</td>\n</tr>\n<tr>\n<td style='width:50%;vertical-align:top;'>\n";
echo $news_[1];
echo "</td>\n<td style='width:10px'><img src='".get_image("blank"smiley."' alt='' width='10' height='1' /></td>\n<td style='width:50%;vertical-align:top;'>\n";
echo $news_[2];
echo "</td>\n</tr>\n</table>\n";
closetable();
}
if ($rows > $items_per_page) echo "<div align='center' style=';margin-top:5px;'>\n".makepagenav($_GET['rowstart'],$items_per_page,$rows,10)."\n</div>\n";

} else {
opentable($locale['global_077']);
echo "<div style='text-align:center'><br />\n".$locale['global_078']."<br /><br />\n</div>\n";
closetable();
}
} else {
include INCLUDES."comments_include.php";
include INCLUDES."ratings_include.php";
$result = dbquery(
"SELECT tn.*, user_id, user_name FROM ".DB_NEWS." tn
LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
WHERE news_id='".$_GET['readmore']."' AND news_draft='0'"
);
if (dbrows($result)!=0) {
$data = dbarray($result);
if (checkgroup($data['news_visibility'])) {
$news_cat_image = "";
if (!isset($_POST['post_comment']) && !isset($_POST['post_rating'])) {
$result2 = dbquery("UPDATE ".DB_NEWS." SET news_reads=news_reads+1 WHERE news_id='".$_GET['readmore']."'"smiley;
$data['news_reads']++;
}
$news_subject = $data['news_subject'];
if ($data['news_cat']) {
$result2 = dbquery("SELECT * FROM ".DB_NEWS_CATS." WHERE news_cat_id='".$data['news_cat']."'"smiley;
if (dbrows($result2)) {
$data2 = dbarray($result2);

}
}
$news_news = stripslashes($data['news_extended'] ? $data['news_extended'] : $data['news_news']);
if ($data['news_breaks'] == "y"smiley { $news_news = nl2br($news_news); }
if ($news_cat_image != ""smiley $news_news = $news_cat_image.$news_news;
$news_info = array(
"news_id" => $data['news_id'],
"user_id" => $data['user_id'],
"user_name" => $data['user_name'],
"news_date" => $data['news_datestamp'],
"news_ext" => "n",
"news_reads" => $data['news_reads'],
"news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."'"smiley,
"news_allow_comments" => $data['news_allow_comments']
);
add_to_title($locale['global_201'].$news_subject);
echo "<!--news_pre_readmore-->";
render_news($news_subject, $news_news, $news_info);
echo "<!--news_sub_readmore-->";
if ($data['news_allow_comments']) { showcomments("N", DB_NEWS, "news_id", $_GET['readmore'], FUSION_SELF."?readmore=".$_GET['readmore']); }
if ($data['news_allow_ratings']) { showratings("N", $_GET['readmore'], FUSION_SELF."?readmore=".$_GET['readmore']); }
} else {
redirect(FUSION_SELF);
}
} else {
redirect(FUSION_SELF);
}
}

require_once THEMES."templates/footer.php";
?>



Знаю что на главной постраничная навигация выводится вот этим отрезком:

if ($rows > $items_per_page) echo "<div align='center' style=';margin-top:5px;'>\n".makepagenav($_GET['rowstart'],$items_per_page,$rows,10)."\n</div>\n";


 
^ наверх ^
# 2  
Planet
Пользователь

Avatar пользователя




Местный

Сообщений: 13
Зарегистрирован: 09 Августа 2008, 16:25:36
Сказали спасибо 0 раз
Статус: offline
Опубликовано 09 Сентября 2010, 18:50:36
или может быть есть модуль как тут
http://alipapa.ru/

справа под надписью все публикации
 
^ наверх ^
# 3  
jikaka
Пользователь

Avatar пользователя

jikaka

Почетный SF

Сообщений: 1112
Откуда: Питер
Зарегистрирован: 01 Октября 2008, 08:39:58
Сказали спасибо 106 раз
Статус: offline
ICQ статус 196346743
Опубликовано 09 Сентября 2010, 23:02:22
что-то не догнал я какая разница между стандартным выводом новости, ведь там тоже сначала выводится краткая новость...


--------------------
жить хорошо! а хорошо жить - еще лучше!
www.rusfusion.ru - официальная поддержка
^ наверх ^ 196346743 www.jikaka.ru
# 4  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 10 Сентября 2010, 00:48:49
jikaka написал:
что-то не догнал я какая разница между стандартным выводом новости, ведь там тоже сначала выводится краткая новость...

ему нужен вывод из разных категорий... решить проблему можно поковыряв файл news.php добавив туда переменную, например $cat (если такая там неиспользуется), после чего добавить её в нужные запросы и отслеживать когда эта переменная используется... например если в адрессной строке будет чтото типа news.php?cat=1 , то будут выводится новости только из категории с id=1... подробно описывать впадло... делай на примере форума или фотогалереи...


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 5  
shender4
Пользователь

Avatar пользователя




новичек

Сообщений: 1
Зарегистрирован: 26 Января 2011, 15:23:42
Сказали спасибо 0 раз
Статус: offline
Опубликовано 03 Марта 2012, 21:01:58
Planet написал:
единственный недостаток у него в том, что он выводит в категорию лишь 11 новостей и нет навигации по остальным, как это сделано внизу главной страницы news.php

Вопрос: как можно сделать эту навигацию, чтобы отображались все новости из просматриваемой категории?


аналогичная проблема, решения не нашел...

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


[Изменил(а) shender4, 03 Марта 2012, 21:04:12]  
^ наверх ^
# 6  
Alipapa
Пользователь

Avatar пользователя

Ворчун

Местный

Сообщений: 34
Откуда: Анадырь
Зарегистрирован: 18 Февраля 2008, 19:00:34
Сказали спасибо 2 раз
Статус: offline
Опубликовано 09 Марта 2012, 23:17:10
Да легко эта разбивка по страницам делается, и я сделал бы, но почему-то меня об этом никто не просил. Или даже делал уже, точно не помню. В общем, если это связано с моим модом, изложите внятно, что в нем не устраивает, и я постараюсь доработать. Только укажите место, откуда скачивали, чтобы не было путаницы.


[Изменил(а) Alipapa, 09 Марта 2012, 23:25:59]

--------------------
Я здесь
^ наверх ^ http://php-fusion-manual.ru/
Перейти на форум:


94,883,171 уникальных посетителей
сейчас: 17 Апреля 2024, 15:03:02
Генерация страницы: 0.16 сек.

Original size:42 кб.
GZipped size: 10 кб.
Compression:76%