官方版本留言頭像功能發布 - 部落格

Charlie avatar
By Charlie
at 2009-09-19T20:22

Table of Contents

※ 引述《kevin814 (某Ken)》之銘言:
前文恕刪
: --題外話
: 改完之後發現favIcon功能跟頭像功能似乎是互斥的,不曉得有沒有方法兩個同時顯示O_O

  分享一下我目前觀察到的一點心得,
  有錯的話請不吝指教,也歡迎大家一起尋找解法。


  以前的 favicon 圖示總共有三種,
  即 Blogger, OpenID, 以及 匿名人像 三種圖示,
  它們都是以 16x16 像素的大小顯示。

  而現在剛推出的頭像功能則以 Blogger 帳號的頭像為主,
  有設頭像的話會以 35x35 像素的大小顯示,
  沒設的話就跟以前一樣以 16x16 像素大小顯示 Blogger 的圖示。
  但不同的是現在 OpenID 圖示 和 匿名人像 不見了,
  取而代之的是 16x16 像素大小的 空白。

  更正:OpenID 圖示還是跟以前一樣以 16x16 像素的大小顯示。

  照這樣來看,理論上 favicon 圖示應該是有可能整合進頭像功能中的,
  比方說在頭像功能下可以讓 OpenID 圖示 和 匿名人像 再度顯示回來,
  甚至也可以把 Blogger, OpenID 圖示 和 匿名人像 都改以 35x35 像素顯示,
  不過這樣的話也許還要再把那三張圖示換成解析度較大的版本。


  以上是就概念上的層面來講的,但實際要去修改時,
  就會牽涉到,或者是說,受限於 Blogger 範本中的寫法。
  以我目前所用的官方範本為例:

<dl expr:class='data:post.avatarIndentClass' id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt expr:class='&quot;comment-author &quot; +
data:comment.authorClass' expr:id='data:comment.anchorName'>
<b:if cond='data:comment.favicon'>
<img expr:src='data:comment.favicon' height='16px'
style='margin-bottom:-2px;' width='16px'/>
</b:if>
<a expr:name='data:comment.anchorName'/>
<b:if cond='data:blog.enabledCommentProfileImages'>
<data:comment.authorAvatarImage/>
</b:if>
...
</dt>
...
</b:loop>
</dl>

  紅色部分是這次頭像功能新增的,
  第一行在要顯示時會動態展開為 class="avatar-comment-indent"
  它是用來指定頭像排版時要往內縮排多少空間的。
  其真正的樣式是在一個 Blogger 共用的外部 CSS 檔中,
  名為 1918764323-widget_css_bundle.css,內容則為:

#comments-block .avatar-comment-indent {
margin-left: 45px;
position: relative
}
#comments-block .avatar-comment-indent dd {
margin-left: 0
}

  如果有需要,只要在自己的範本中重複定義該樣式,
  就可以覆寫掉原本的縮排方式。

  紅色的後三行則是顯示頭像的關鍵,
  只要有在後台「意見設定」處把「在評論上顯示簡介圖片?」設為「是」,
  此處的 if 條件判斷式就會成立,
  於是中間的 <data:comment.authorAvatarImage/> 就展開成 <div>...</div>。
  不過這個展開過程似乎不是我們可以自行更改的 (除非自己完全重新寫過),
  所以也就無法如前面一開始說要
  但我們仍可透過 CSS OpenID 圖示 和 匿名人像 再度顯示回來,
  甚至把 Blogger, OpenID 圖示 和 匿名人像 都改以 35x35 像素顯示了。

  更正:事實證明我錯了,Blogger Buster 上已經有讀者留言提出方法:

.avatar-image-container img {
background: url(
http://i860.photobucket.com/albums/ab162/LeBloggerTemplate/LeBlogger.jpg);
width: 35px;
height: 35px;
}

     原文網址請參閱 http://tinyurl.com/mqhm53


  上述的想法遇到問題了,
  那麼有可能如原 po 所說的 favicon 圖示和頭像功能兩者同時顯示嗎?
  先再看一次前面官方範本中綠色的部分:

<dt expr:class='&quot;comment-author &quot; +
data:comment.authorClass' expr:id='data:comment.anchorName'>

  此部分在要顯示時會動態展開為下列三者之一:

1. blogger-comment-icon
2. openid-comment-icon
3. anno-comment-icon

  這三者剛好分別對應 favicon 的三種圖示,可用來指定如何顯示這三種圖示。
  跟前面紅色第一行的情形相同,
  其真正的樣式也是在 1918764323-widget_css_bundle.css 中,內容為:

#comments .blogger-comment-icon, .blogger-comment-icon {
line-height: 16px;
background: url(/img/b16-rounded.gif) left no-repeat;
padding-left: 20px
}
#comments .openid-comment-icon, .openid-comment-icon {
line-height: 16px;
background: url(/img/openid16-rounded.gif) left no-repeat;
padding-left: 20px
}
#comments .anon-comment-icon, .anon-comment-icon {
line-height: 16px;
background: url(/img/anon16-rounded.gif) left no-repeat;
padding-left: 20px
}

  同樣的,如果有需要,只要在自己的範本中重複定義該樣式,
  就可以覆寫掉原本的圖示與排版。

  但是事情並非這麼順利,就如原 po 所注意到的,
  favicon 圖示和頭像功能似乎是互斥的,問題何在?
  我發現在頭像功能打開時,上述的綠色部分就無法再展開成那三種 ...-icon,
  而是直接就被「吃掉」(不做任何展開) 了。


  那麼,我們能自己手動把本來要展開出來的 ...-icon 加進範本中嗎?
  因為我們沒有其他方式可判斷留言者的身分種類,
  也就無法知道每一則留言各要加入哪一種 ...-icon,
  所以我們最多只能全部都加入同一種 ...-icon,但這樣無法達到辨視的效果。

  這也是我在原 po 文章中推文提到的問題所在:
  我的留言 hack 正是版友 a892245 在 #19KH6-sh 文章的作者回應上色功能,
  網頁版在 http://lingshu1005.blogspot.com/2008/12/blogger.html
  該 hack 的特色便是用 blogger-comment-icon 來辨別網誌作者。
  因為 data:comment.authorClass 不再做任何展開,
  結果頭像功能一打開該 hack 就破功了,目前也只能先取消頭像功能來避開。


  最後,要順帶一提的是,前面官方範本中藍色的部分:

<b:if cond='data:comment.favicon'>
<img expr:src='data:comment.favicon' height='16px'
style='margin-bottom:-2px;' width='16px'/>
</b:if>

  此段目前好像還沒有作用,因為我找不出方法能讓 if 條件判斷式成立。
  我猜其中的 data:comment.favicon 有可能是要讓我們自訂 favicon 圖示的,
  但在後台設定中似乎又找不到可以設定的地方。
  也許幾天後這又會是 Blogger 十週年的另一個禮物吧 XD

  後記:呼,本來並沒有想到會寫這麼多,結果寫著寫著就越寫越多了,
     後來又覺得都已經寫這麼多了,不繼續寫完前面就白寫了,
     結果這篇就變成現在這麼冗長的文章了 冏rz
     總之,感謝大家看到這裡,希望大家多多指教 :)

--
┌────┐家研究院 Academy EarthEnviron Ecophilia環境板 ξF
│ ─┤
│ ├──┬──┬──┬┐┌┬──┬┐ ┌──┬──┐綠色生活,從我開始。
│ ─┤ ┌┤ ││ ─│└┘├┐┌┤│ └┐┌┤ ─ │﹊﹊﹊﹊﹊﹊﹊●﹊﹊
│ │ └┤ ││┌─┤┌┐├┘└┤└─┬┘└┤┌┐│
└────┴──┴──┴┘└┘└┴──┴──┴──┴┘└┘▆▅▅▄▃▂▁

--

All Comments

Rebecca avatar
By Rebecca
at 2009-09-22T20:01
認真文~推
Ivy avatar
By Ivy
at 2009-09-25T15:44
大推 :D
Liam avatar
By Liam
at 2009-09-29T12:02
推!
Barb Cronin avatar
By Barb Cronin
at 2009-10-03T03:36
..
Jake avatar
By Jake
at 2009-10-04T22:00
這篇請板主M一下^^
Irma avatar
By Irma
at 2009-10-09T10:35
強制35*35會使得部分頭像變形~所以不是完美解
Genevieve avatar
By Genevieve
at 2009-10-10T09:01
要保持長寬比好像可以試試看jQuery..又會拖到讀取速度orz
Edward Lewis avatar
By Edward Lewis
at 2009-10-15T03:06
好文,但奇怪不m ?

廣告回應刪不掉?

Olive avatar
By Olive
at 2009-09-19T14:08
如題 某篇文章被人回覆不雅廣告 可是點進去那篇文章 卻沒有顯示回覆的留言 只有在旁邊欄位and#34;最新的回應and#34;有顯示 所以想刪除也沒辦法... 這樣子真的很難看 不知道有沒有板友能幫忙? 感謝!!! - ...

請問有共同作者的功能嗎?

Ethan avatar
By Ethan
at 2009-09-19T14:06
我想開一個Blog 這個地方是打算讓一小群人共用 請問痞克有辦法設定and#34;特定帳號and#34;有權限發文嗎? - ...

登入鬼打牆?可成功鍵入帳密 但無法跳到管理介面

Jack avatar
By Jack
at 2009-09-19T12:27
不好意思請教一下大家 不曉得是什麼緣故,從昨天晚上一陣子pixnet的動作反應變得超級慢之後 我接下來就登入不了了。 詳細情形是這樣子的:跟平常一樣的首頁,鍵入了帳號密碼之後,登入按鍵按下去 可是接下來的畫面不是如往常一樣,進入管理介面,或是「有像登入之後的樣子」 而是:我看右上角,「登入」鍵還是好 ...

關於"這些文章有興趣"

Queena avatar
By Queena
at 2009-09-19T00:23
最近在很多網友的網誌結尾處多了~ and#34;您或許對這些文章有興趣and#34; 自己也想放放看, 不知道這是語法還是內建的功能呢? 感謝囉~ -- http://shakemylife.pixnet.net/blog/ 真希望人體也能內建ctrl+alt+delete - ...

兩欄式的右欄跑掉了

Elvira avatar
By Elvira
at 2009-09-18T23:57
右欄不知道為何 跑到下面去了 所以一進頁面只看到左欄 一直往下拉到最後 才會看到右欄 但是點進文章裡 又是正常的雙欄 想請問是怎麼回事? - ...