Sidebar 側邊列元件在頁面的顯示或不顯示

Posted By weihsi / September 27, 2008 @ September 27, 2008

Blogger在 Blogger.com 中,若安裝某個 Page Elements 後,這 Page Elements 將顯示在部落格每個頁面之中。不過我在很久之前看過幾篇文章,表示只要設定好條件,是可以控制 Elements 所顯示的頁面的。

例如將某個 Page Elements 只顯示在瀏覽首頁的側邊列 (Sidebar) 上,或是只顯示在分頁文章之中 (即首頁不顯示)。這樣不只能夠在頁面設計保留更多彈性,也有一些優點:

1. 配合分頁性質,來減少讀取不必要的元件,使得網頁顯示更有效率。
2. 作者可以更有效控制「給瀏覽者」的首要資訊。
3. 讓介面更清爽。


可以參考「堯@部落格」的教學,是使用「修改 HTML」的方式進行元件修正的,因此提醒使用者在修改前最好先備份範本:

如何讓某些元件只在首頁 / 內頁顯示 [堯 @ 部落格]

如果跟我一樣,裝了一堆Page Elements,卻希望有些只出現在首頁,有些只出現在內頁,那這篇文章就可能是你所需要的。這個作法是利用修改HTML TEMPLATE的作法來作,然而可能會有些人不小心改錯了,而改錯的風險很大,所以建議先行備份,這樣至少還可以還原回去。

首先點選範本,然後點選修改HTML,最後把「展開小裝置範本」打勾。然後找到你想要修改的元件。然後找到includeable的標籤,在下上各加入一行,修改如下:

<b:widget id='HTML1' locked='false' title='訂閱服務' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType != "item"'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>

<b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>


只在首頁及搜尋頁顯示:

cond='data:blog.pageType != "item"'

只在內頁顯示:

cond='data:blog.pageType == "item"'

而 Abin 的教學算是進階版的,因為不只可控制文章分頁與首頁部份,甚至可以設定條件在 Archive 存檔頁面或 Label 標籤分類頁面:

讓側邊列 (Sidebar) 的元件只在首頁顯示/不顯示 [Abin's Tech Note]

Blogger 頁面旁邊的 Sidebar 可以加掛很多模組,但是只要塞入一個元件 (Element),在任何頁面就都一定會出現。如果在某些條件下,特定元件可以選擇顯示或不顯示,一方面畫面也可以更清爽,少讀了某些元件網頁顯示也會更快更有效率。方法很簡單,只要在元件原始碼的外面加入 if 的條件判斷句,「當在什麼頁面的時候」,才會顯示元件的內容,就可以達到這個目的了。下面整理修改的範例,還有幾個常見的判斷條件。


事實上這算早期的 Blogger 基礎教學了,我是以書籤收集的想法來進行分享,歡迎網友討論。



 

2 comments:

歡迎您回覆與本篇文章的寶貴意見,但請勿回覆內容與文章本身無關、人身攻擊或其他不適當的言論。本板將會提出嚴重警告以及保留法律上的任何權利。

請訪客您在「Comment as」處選擇個人身分(Open ID)回應。若訪客您尚無法登入身份,請選「Name/URL」留下回應資料,再次謝謝您的回應 :)

  1. 要修改 HTML 也是不得已,
    誰叫 Blogger 不給我們選項勾取。

    ReplyDelete
  2. 我最緊張的是將來 Blogger 推出新功能會因為我們修改過 HTML 而無法使用,這時候換範本會哭吧,我想。

    ReplyDelete

 
Copyright 2005 春如月筆記. Powered by Blogger.