給我個私人的部落格

| 七月 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 " ;

     

    另外,在列表的部分,則尚未研究出修改的方法,等待知道後再補上。

    另外我覺得可以在後台的站台控制裡面多加上一個控制的,研究後補上。

     




Leave A Comment: