Node.js 部落格執行個體(十)pv統計和留言統計,node.jspv
原教程 https://github.com/nswbmw/N-blog/wiki/_pages的第十章,由於版本等的原因,在原教程基礎上稍加改動即可實現。
post.js中將var post={...}修改為(每次改動此處之後都要將e:/mongodb/blog/清空):
//要存入資料庫的文檔 var post = { name: this.name, time: time, title: this.title, post: this.post, tags:this.tags, comments:[], pv:0 };
我們給要儲存的文檔添加了 pv 鍵並直接賦初值為 0。
繼續將post.js中的Post.getOne()修改為:
//擷取一篇文章Post.getOne = function(name, day, title, callback) { //開啟資料庫mongodb.open(function (err, db) {if (err) {return callback(err);}//讀取 posts 集合db.collection('posts', function (err, collection) {if (err) {mongodb.close();return callback(err);}//根據使用者名稱、發表日期及文章名進行查詢collection.findOne({"name": name,"time.day": day,"title": title}, function (err, doc) {if (err) {mongodb.close();return callback(err);}//解析 markdown 為 htmlif (doc) {collection.update({"name":name,"time.day":day,"title":title},{$inc:{"pv":1}},function(err){mongodb.close();if(err)return callback(err);});doc.post=markdown.toHTML(doc.post);doc.comments.forEach(function (comment) {comment.content = markdown.toHTML(comment.content);});}callback(null, doc);//返回查詢的一篇文章});});});};
這裡注意:collection.findOne({
"name": name,
"time.day": day,
"title": title
}, function (err, doc) {
if (err) {
mongodb.close();
return callback(err);
}
這裡mongodb.close();一定要放到if裡面,否則會報錯:
throw new Error('Can\'t set headers after they are sent.');
Error: Can't set headers after they are sent.
原因是NODEJS非同步機制,下面還有一個mongodb.close()會執行,兩個非同步同時執行就會出錯;。
修改 index.ejs 、user.ejs 及 article.ejs ,在:<p><%- post.post %></p>下一行添加一行代碼:
<p class="info">閱讀:<%= post.pv %> | 評論:<%= post.comments.length %></p>
至此,文章就有了閱讀次數和評論次數的展示:
【cnzz統計提供的留言板功可以作為網站站長怎設定成只允許自己查看?】
進入cnzz--統計報表下面有個進階功能--網站設定--設定查看密碼,這樣就能自個偷著看了,嘿嘿
個wordpress統計外掛程式,可以統計總訪問量,頁面訪問量,下載次數,最好也可以統計線上人數,
總訪問量,頁面訪問量,這些用個統計代碼不就完了,例如百度統計啊之類的
下載次數,我推薦一個 DownloadManager
線上人數,就不要用外掛程式啦,可以講功能整合到主題裡,方法就是一段php代碼,加一個調用代碼
代碼我就不填上來了,自己百度吧,很多
硬要裝外掛程式的話,下面是20款wordpress統計外掛程式,你老人家按需安裝吧。
第一,Social Traffic Monitor – 監視來自多個社會性網站的訪問。
第二,Stats – 瀏覽者資料統計外掛程式。
第三,Statraq – 相當強大的部落格統計外掛程式,可以記錄訪問者的IP、搜尋索引鍵、訪問人數等等。
第四,Ultimate Google Analytics – 更方便的添加Google Analytics統計指令碼。
第五,WordPress.com Stats – WordPress官方的統計外掛程式,需要Wordpress API Key。(現在需要付費)
第六,WP OnlineCounter – 線上使用者統計。
第七,WordPress Reporter – 方便地在後台查看Google Analytics 和 Feedburner統計資料。
第八,WP-SlimStat – 提供所有的標準統計資料,而且不會對伺服器產生過大的負載。
第九,WP-Stats – 非常全面的統計外掛程式。(用的較多)
第十,WP-User Online – 顯示線上人數。
第十一,Backlinks inbound links counter – 跟蹤部落格的來源連結。
第十二,Bsuite – 跟蹤頁面瀏覽、搜尋關鍵詞等內容,顯示訪問量最大的日誌以及相關日誌。
第十三,DownloadCounter – 統計附件被下載次數。
第十四,FirStats – 基於AJAX技術的全功能統計外掛程式。
第十五,GeneralStats – 顯示使用者、分類、文章、留言、頁面、連結等等數量情況。
第十六,GoStats web counter – 輕鬆安裝GoStats統計代碼。
第十七,Live – 即時監控部落格被訪問情況。
第十八,Open Web Analytics – 統計各種資料並可以通過Google Earth展示訪問者。
第十九,Posts/Comments Time – 統計一天中發表最多評論的時段,這樣你就可以更有針對性的規劃發表日誌的時間,以獲得更多的評論。
第二十,Search Phrases – 統計來自搜尋引擎的關鍵詞。
暫時還沒有整合你說的功能與一身的外掛程式出現
我的部落格Pladys點康母