Blog 板


LINE

好吧,那些想要完美的藏起文章的人,若是不想失望的話,現在就可以按下左鍵離開了。 這個方法並沒有那麼完善-老實說,還會讓讀取的效率更差。所以待會你讀到的內容不該 稱為教學,充其量只能算是實驗而已。 被嚇倒的人應該已經離開了吧?這個方法的起因是這樣,某些時候可能我不想讓某篇文章 顯示在版面上,例如說我要設一篇文章做為留言板,而我並不想讓這篇文章和其他文章混 在一起-尤其是在Archive裡-性質的不同會讓它顯的突兀。假如我現在用的是樂多,我 可以將這篇留言板設為草稿,然後把這篇文章的連結設在Sidebar裡;而在Blogger Beta, 這個方法就行不通了,因為draft是無法連結的。 在下面的例子中,我們透過兩個條件來達成目的:Label和時間。為了將其隱藏起來,我 們用一個特定的Label來控制,當這篇文章的最後一個Label是特定Label時,那麼將只有 連到文章本身(也就是type Item)時才會顯示。 而Archive的部份,由於迴圈跑的是月份,所以我將特定的月份隱藏起來。原本想要做的 是只隱藏該篇,但好像做不到,只好如此變通。另外一件事,在下面的例子中是使用下拉 式選單的Archive來做範例,使用另外兩種方式的朋友,請試著自行設條件吧。 下面將使用Blogger Beta內建的template Minima(迷你馬)來當例子。 第一部份:文章迴圈 在迷你馬的Expand Widget Templates裡面找到這個迴圈:(開始和結尾的綠色註解是為了 待會兒較好理解加上的,找不到是正常現象,請安心服用) <b:loop values='data:posts' var='post'> <!-- 文章開始 --> <b:if cond='data:post.dateHeader'> <h2 class='date-header'><data:post.dateHeader/></h2> </b:if> <b:include data='post' name='post'/> <b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.allowComments'> <b:include data='post' name='comments'/> </b:if> </b:if> <!-- 文章結束 --> </b:loop> 這個迴圈做的事是跑目前條件下的所有文章,然後秀出日期,文章,註解。 下面這個很長的玩意兒是修改後的迴圈:(黃色內容為新加上) <b:loop values='data:posts' var='post'> <b:if cond='data:post.labels'> <b:loop values='data:post.labels' var='label'> <b:if cond='data:label.isLast == "true"'> <b:if cond='data:label.name == "notinmainandarchive"'> <b:if cond='data:blog.pageType == "item"'> <!-- 文章開始 --> <b:if cond='data:post.dateHeader'> <h2 class='date-header'><data:post.dateHeader/></h2> </b:if> <b:include data='post' name='post'/> <b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.allowComments'> <b:include data='post' name='comments'/> </b:if> </b:if> <!-- 文章結束 --> </b:if> <b:else/> <!-- 文章開始 --> <b:if cond='data:post.dateHeader'> <h2 class='date-header'><data:post.dateHeader/></h2> </b:if> <b:include data='post' name='post'/> <b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.allowComments'> <b:include data='post' name='comments'/> </b:if> </b:if> <!-- 文章結束 --> </b:if> </b:if> </b:loop> </b:if> </b:loop> 這個新的迴圈做的事是這樣:跑目前條件下的所有文章,跑該篇文章的所有Label,假如 最後一個Label是特定的Label的話(在這個例子中是notinmainandarchive),檢查目前頁 的type是不是item,如果是才顯示該篇文章。假如最後一個Label不是特定的Label,直接 顯示該篇文章。 在這裡有一件事需要注意,文章的Label會依照字母來排序,因此你所設定的Label最好用 Z開頭(中英文混用會怎麼排序?對不起我沒有試過),或聽取我的建議,要隱藏的文章只 使用一個Label就好。提醒另一件事,當使用這個新迴圈之後,沒有Label的文章是不會顯 示的。 第二部份:Archive下拉選單 在你新增了Archive這個Element之後,一樣在Expand Widget Templates可以找到: <b:includable id='menu' var='data'> <select expr:id='data:widget.instanceId + "_ArchiveMenu"'> <option value=''><data:title/></option> <b:loop values='data:data' var='i'>    <!-- 這行太長,折成兩行 --> <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option> <!-- 折完了 --> </b:loop> </select> </b:includable> 修改後的如下: <b:includable id='menu' var='data'> <select expr:id='data:widget.instanceId + "_ArchiveMenu"'> <option value=''><data:title/></option> <b:loop values='data:data' var='i'> <b:if cond='data:i.name != "Sep 2002"'> <!-- 這行太長,折成兩行 --> <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option> <!-- 折完了 --> </b:if> </b:loop> </select> </b:includable> 新加上的條件,不在下拉選單裡顯示2002年九月,如此一來我將要隱藏的文章發佈時間設 在2002九月,Archive裡就沒有它了。 就算是用硬連結也不會顯示(例如這樣的連結 http://lucyintheskywithdiablo.blogspot.com/2002_09_01_archive.html ) ,因為在文章迴圈那裡已經有控制了。 結語 由於在迴圈裡多跑了一個Label,所以理論上讀取會比以前還要慢。許多地方都使用了較 沒有效率的硬方法來做,仍有許多改進空間。還有一件最重要的事:你以為這樣文章就 隱藏起來了嗎?其實feed裡還是讀的到啊!除非你把它關閉,或文章的內容並不重要到需 要在意。在這裡奉勸老話一句:若真不想讓人看到,就別放到網路上吧。 這篇文章很長,謝謝你把它看完,若是你也有興趣,一起來討論吧。 -- 『你跟媽媽,發了什麼誓?』 『早晚都要刷牙。』 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.224.117







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP