GAE Python Rewrite Blogger post views

記得上個月底,ㄚ琪很想Blogger 可以有WP-PostRating和WP-PostViews這樣的功能ㄚ琪還在沾沾自喜安裝了Blogger 點閱次數測試成功,但是你絕對想不到,它永遠都是1,不管你怎麼給它點,點文章進去,都是1,這個1搞得我有點火大了 ,還好akiko有提醒我,不然我永遠不會知道這個事實。看來求人不如求己,ㄚ琪這兩三天只好抱病來寫Blogger post views,Google了很久,發現有一個很大的問題就是,這一類的程式常常會因為程式主機不再服務,而無法使用顯示文章閱覽人次的功能。另一個問題是Blogger的Template還真有夠難搞的,它偏偏就要跟人家的搞不一樣的系統。

第一個問題還滿好解決的,雖然對我來說也不盡然,但是只要你有主機,放支程式進去就可以跑了,你可以參考Individual Post Views Counter For Blogger – Using Your Own Web Host,用PHP寫的程式,來實現文章閱覽人次的功能,但是我想會使用Blogger的人應該沒有自己的主機吧!如果放在免費的主機上面,或許也行得通,但是什麼時候會陣亡不清楚。好吧!我們是用Blogger的老闆是Google,那麼用Google的主機好了,反正如果Google倒了的話,那麼Blogger跟主機就一齊不能用,那問題就不大,雖然問題還是很大,因為如果你寫了一大坨的文章,發現Google倒了的話,那會事情很大條的,所以要有危安意識,隨時記得要備份文章。

好了廢話一堆,Google的主機也算很難搞,沒有PHP程式可以放,只有Python跟Java可放,這是用Google 應用服務引擎來實現的,還好ㄚ琪以前有看過書Google 應用服務引擎,自認為不是很難,所以就捲起袖子來做了,試了很久,終於有眉目了,當然Tony的GAE Java Blogger PageView count,給了我很大的幫助,當然他有暗藏一些步數,沒有寫出來,而且也是用Java做的,我想我已經用Python試了一會兒了,不想再用Java來做,雖然也是可以,而且可以練SCJP的功力,不過我想Google是很偏好Python的,所以如果以後想去Google上班,會Python應該不可少。當然你要完成這個工作,你還得下載Python 專用的 Google 應用服務引擎 SDK

好了,這也不是重點,最重點就是Blogger 難搞的Template要應付了,我從Tony的<data:post.id/>、

<b:if cond='data:blog.pageType == "item"'>、expr:src

這幾個方向試了很久,發現裡面還有一些眉眉角角的,研究自己的Template終於搞出來了,哈哈!

你一定很想知道ㄚ琪是怎麼完成這個曠世巨作的吧,就讓我來揭開這個神秘面紗吧!

<h3 class=’post-title entry-title’>

<b:if cond=’data:post.link’>

<a expr:href=’data:post.link’><data:post.title/></a>

<b:else/>

<b:if cond=’data:post.url’>

<a expr:href=’data:post.url’><data:post.title/></a>

<b:else/>

<data:post.title/>

</b:if>

</b:if>

</h3>

你在Templeate中注意到這幾行,然後在後面加上

<b:if cond=’data:blog.pageType == &quot;item&quot;’>

psot views:<script expr:src=’&quot;http://tw-counter.appspot.com/?b=1664225421371581189&amp;p=&quot; + data:post.id + &quot;&amp;t=&quot; + data:post.title + &quot;&amp;y=1&quot;’/>

<b:else/>

psot views:<script expr:src=’&quot;http://tw-counter.appspot.com/?b=1664225421371581189&amp;p=&quot; + data:post.id + &quot;&amp;t=&quot; + data:post.title + &quot;&amp;y=0&quot;’/>

</b:if>

ㄚ琪研發的這幾行代碼,就是&quot;、+、&amp;這幾個符號讓我搞了大半天的,好了,完工!

對了,你絕對不可以複製這幾行到你的Template中喔,因為這個1664225421371581189是我的BlogID,你copy了一樣功能無法用,你改成你的BlogID也無法用,因為怕Google關掉這免費主機,只因你的龐大的流量造成的。

那怎麼辦?,好吧,只要你幫ㄚ琪推薦Fun Taiwan,將http://funtaiwan.achi.idv.tw放到你的Blog中,並且訂閱Fun Taiwan的RSS,在ㄚ琪又要送飲料囉!回覆你放我的連結處,以及你的BlogID,我就可以幫你開通使用這個功能,現在到8/6止還可以抽獎送飲料喔,歡迎你來使用,這個功能的Demo網站:http://funtaiwan.achi.idv.tw

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

1 則留言


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *