感謝你的造訪,如果你是第一次參觀我的網站可以訂閱我的RSS feed.這個Blog提供許多建立Blog的小技巧,三不五時提供有趣的新聞,現在立即訂閱吧.如果你不會使用訂閱功能可以先參考之前寫的文章 免安裝的RSS閱讀器-Google Reader:基本訂閱說明

如何讓Blogger只顯示標題

2008年1月3日

原本寫完"繼續閱讀"功能後要再繼續寫這篇,沒想到時間一久竟然忘了:P,最近回顧文章時才發現漏了這篇,現在馬上位各位補上

首先進入"控制主頁"點選"版面配置"


再點選"修改HTML"進入HTML編輯畫面,依照慣例先點選"下載完整模板"進行備份


接著點選"展開小裝置範本"


展開後搜尋下列字串
<p><data:post.body/></p>
找到以後,把它置換成
<b:if cond='data:blog.pageType == "item"'>
<p><data:post.body/></p>
</b:if>
最後按下儲存範本就大功告成囉


如此修改只有點選標題進入文章才會顯示內文,否則都只會顯示標題,看看成果吧




有沒有發現哪裡怪怪的?如果只顯示標題那幹麻還做"繼續閱讀"功能
嘿!別急,我們再做些小修改就能在首頁顯示標題和摘要,而搜尋歷史文章和分類標籤只顯示標題
只要把
<b:if cond='data:blog.pageType == "item"'>
<p><data:post.body/></p>
</b:if>
改成
<b:if cond='data:blog.pageType == "item"'>
<p><data:post.body/></p>
<b:else/>
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<p><data:post.body/></p>
<a class='readmore' expr:href='data:post.url' expr:title='data:post.title'>繼續閱讀…</a>
</b:if>

</b:if>

上面這段HTML從原本的一行膨脹成八行,有沒有霧裡看花的感覺?來解釋一下上面這段HTML的意思吧

<b:if cond='data:blog.pageType == "item"'>
<p><data:post.body/></p>

表示如果進入內文就把文章內容完整顯示出來

<b:else/>
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<p><data:post.body/></p>
<a class='readmore' expr:href='data:post.url' expr:title='data:post.title'>繼續閱讀…</a>
</b:if>
</b:if>

否則(即不在內文中包含搜尋,歷史文章和分類標籤)
如果網址等於首頁的網址(我的首頁就是 http://iamkevintsai.blogspot.com ),除了顯示內文還要顯示繼續閱讀…(必須要搭配之前繼續閱讀功能才會在首頁只顯示摘要)

稍微整理一下幾個在Blogger常用的判斷條件

<b:if cond='data:blog.pageType == "item"'>
目前頁面在內文
<b:if cond='data:blog.pageType == "archive"'> 目前頁面在歷史文章列表
<b:if cond='data:blog.pageType == "index"'> 目前頁面在分類標籤列表
<b:if cond='data:blog.homepageUrl == data:blog.url'> 網址等於首頁

如果還看不懂就留言給我吧,這次介紹的東西只要稍微有點程式基礎應該都很容易理解,但沒接觸過程式的人可能會看的很痛苦

18 回應:

nawi@gabriel.wang 提到...

謝謝您的大作,我還有個問題,請幫我看看,我的 click comments 要如何也藏起來?在展開時才會出現?我的blogger:
http://nawiblog.blogspot.com/
謝謝

Kevin Tsai 提到...

nawi你好
我的Click Comment是像下面這樣的語法,如此就可以只在內文中才顯示了
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"http://www.postreach.com/ccengine/display_iframe?blog=c8245172-9a68-11dc-b435-00188bfcbf02&perlink=" + data:post.url + "&title=" + data:post.title + "&blog_url=" + data:blog.homepageUrl' language='javascript' type='text/javascript'/>
</b:if>

匿名 提到...

kevin
不好意思,試了幾次都失敗了。請問這段是寫在什麼地方呢?click comments 元件裡?或是HTML CODE裡?(blog=,已換成我的了)
謝謝

Kevin Tsai 提到...

script那一段是Click Comments原本的語法,你只要在前面加上<b:if cond='data:blog.pageType == "item"'>
後面加上
</b:if>
就ok囉
至於blog=後面你不需要改成自己的網址,因為data:blog.homepageUrl是一個變數,會自動帶出你的網址

史萊母 提到...

請問,我可以把整篇放在我的blog裡嗎?
如獲允許
會在頁面最上方加上原始連結和您網站名稱

謝謝

Kevin Tsai 提到...

OK阿,歡迎轉貼喔,我也是收集許多方法後改良的^^

陈纪年 提到...

你好,我想问一下:
这个方法好像没有定义显示摘要的长度,所以我用了之后依然首页是长长一条,只是下面多了一个继续阅读的链接。所以请问能不能定义一个摘要的长度,这样显示到一定长度就不再显示了?

Jasonhsubkk 提到...

能不能麻煩您幫我改一下,從第一個步驟預覽就發生錯誤,很抱歉,我們無法完成您的要求。bX-8dyqz0。改了三天也無法隱藏文章,即使用spam也不行,小範本內容http://vspace.cc/file/S1YY3MSNKPK7T2FE.html
感激萬分。

Jasonhsubkk 提到...

抱歉,忘了告訴您我的網址http://jasonhsubkk.blogspot.com/,謝謝您。

Kevin Tsai 提到...

jasonhsu,你比先勾展開小裝置範本,然後搜尋看看有沒有後面這串字
data:post.body
最後在它的上下加上我文章寫的內容喔

Kevin Tsai 提到...

jasonhsu對了,我到你的blog看的時候防毒軟體會警告有害的網頁,應該是廣告造成的,另外展開小裝置範本才能修改的東西沒辦法透過網頁看到你的code,所以不知道如何修改

Jasonhsubkk 提到...

非常感謝您百忙之中回覆我的問題,我已經把所有的廣告移除,奇怪,Google的廣告為什麼有病毒?
寄給您我小裝置裡面的code,按照您的方式以及網上搜尋,預覽的結果為
我們無法剖析您的範本,因為它的結構不完整。 請確定所有的 XML 元素均已正確關閉。
XML 錯誤訊息: The element type "b:if" must be terminated by the matching end-tag "".
我已經搞了三天三夜,頭都發暈了,麻煩您了,非常感激。
http://vspace.cc/file/R9U5VFDTNS6ZA2IL.html

op9956 提到...

你好,請問要如何把一個舊的貼一直的放在最上面接下去的是最新發表的帖子
謝謝

Kevin Tsai 提到...

以前看到一種方式是把文章的日期訂在未來,如此就會把這篇文章置頂了

亦小風 提到...

可以請問如何讓「獨立頁面」的元件隱藏掉?
因為我想既然首頁、分類、歷史頁面都可以隱蔽,獨立的Page應該也可以吧!請教一下!
PS.我點了廣告@@

Kevin Tsai 提到...

不知道你說的獨立頁面是什麼耶
PS.我的廣告都是放好看的:P,沒申請過

ggg 提到...

我用了之後他是在全部顯示出來.的後面出現繼續閱讀...

ALAN 提到...

抱歉, 我在"修改html"中點找也找不到
請問有無方法可以方便找出黎?