給我個私人的部落格
| 七月 15, 2005 | 沒有迴響| 沒有引用| 1444 reads | Size: L, M, S | Edit: P, C, R || Category: LifeType. |
plog 的 summary 功能真的很方便,不過,還是會有想要不顯示部分部落格的時候。
首先要感謝 pLog中文開發論壇 的 ahxiao 版友 提供的方法 才能順利完成這個推廣的修改。
首先編輯 /PLOG_ROOT/class/summary/dao/summarystats.php這個檔案
大約 41 行有個 function getMostCommentedArticles //最多迴響的文章
大約 94 行有個 function getMostReadArticles //最多閱讀的文章
大約 254 行有個 function getRecentArticles //最新發表文章
在這幾個項目的下方有一段
$query = " SELECT COUNT(*) as total_comments, a.*
FROM {$prefix}articles_comments AS c,
{$prefix}articles AS a,
{$prefix}articles_text t,
{$prefix}blogs b
WHERE c.article_id = a.id
AND t.article_id = a.id
AND a.status = ".POST_STATUS_PUBLISHED."
AND c.status = ".COMMENT_STATUS_NONSPAM."
AND b.id = a.blog_id
AND b.status = ".BLOG_STATUS_ACTIVE."
AND a.date <= NOW()";
將其修改成
$query = " SELECT COUNT(*) as total_comments, a.*
FROM {$prefix}articles_comments AS c,
{$prefix}articles AS a,
{$prefix}articles_text t,
{$prefix}blogs b
WHERE c.article_id = a.id
AND t.article_id = a.id
AND a.status = ".POST_STATUS_PUBLISHED."
AND c.status = ".COMMENT_STATUS_NONSPAM."
AND b.id = a.blog_id
AND b.status = ".BLOG_STATUS_ACTIVE."
AND b.show_in_summary = 1
AND a.date <= NOW()";
接著,再找到
大約 150 行有個 function getRecentBlogs($maxBlogs = 0) // 最新建立的部落格
下方有一段
$query = "SELECT * FROM ".$this->getPrefix()."blogs WHERE status = ".BLOG_STATUS_ACTIVE."
修改成
$query = "SELECT * FROM ".$this->getPrefix()."blogs WHERE status = ".BLOG_STATUS_ACTIVE." AND show_in_summary = 1
接著,找到大約 181 行的 function getMostActiveBlogs
下方有一段
INNER JOIN {$prefix}blogs AS b
ON b.id=a.blog_id AND b.status=".BLOG_STATUS_ACTIVE." GROUP BY a.blog_id ORDER BY rank DESC " ;
修改成
INNER JOIN {$prefix}blogs AS b
ON b.id=a.blog_id AND b.status=".BLOG_STATUS_ACTIVE." AND b.show_in_summary = 1 GROUP BY a.blog_id ORDER BY rank DESC " ;
另外,在列表的部分,則尚未研究出修改的方法,等待知道後再補上。
另外我覺得可以在後台的站台控制裡面多加上一個控制的,研究後補上。

