2009年1月6日 星期二

上載新的Blogger templates常發生的錯誤,解決之道

bx-error
最近Blogger Templates的網站資源漸漸多了起來,許多以前單純的兩欄或三欄式模板範本已經不能滿足許多的愛用者,所以常有些會修改CSS模板的高手,將WordPress的Theme,改成blogger template也能使用,造福了我們這些不懂設計的使用者,但相對的在使用上會出現一些問題。

常常在更新模板的時候,系統會出現一個bX-*****的錯誤訊息,雖然先前在Google 關於blogger各項服務的網誌這篇文章有提到Blogger Error Codes,可以查詢這些錯誤訊息,但是很多還是找不到解答,而以綸太郎自己改版的經驗而言,我提供幾個方式來判斷及解決改版時所碰到的問題。

通常我們從後台上載範本時,按下"上載"後,通常會出現一列文字,
請確認以下的小裝置是否應該刪除。 這些小裝置的所有配置數據都將遺失。
就是有些widget元件會被刪除,通常我們按下確定並儲存即可,但有時會出現bX-*****的錯誤讓你無法更新,這時我們可以注意到這些元件中是否有兩個名稱相同的Widget

例如我更新某個模板時出現兩個Text3元件, 這時我按下確認並儲存,就發生bX錯誤。


這時我們回到版面配置→網頁元素,將其中一個元件(在此例,可看到兩個About This Blog,就是Text3)按下編輯,移除其中之ㄧ即可,


再回到上載的畫面,重新上載,這時元件Text3已經移除,按下確認並儲存,模板就可更新成功。


另外有一種比較麻煩的是,雖然相同的元件有兩個,如下圖的AdSense1


但是他並沒有可供移除的按鈕,你可以看這個AdSense的區塊比較淺色,他不能拖曳移動,而是固定在那個位置,就是作者直接將AdSense寫在template的xml檔裡,通常可由底色來判斷, 這時我們就無法從編輯元件裡移除,


這時我們回到版面配置裡→修改HTML,切記不要展開小裝置範本,這時只要將AdSense這個關鍵字找出來,把這個元件刪除即可,如何找呢?

按下Ctrl+F,Firefox最底下會出現搜尋框,而IE6會跳出搜尋框,打入Adsense即可,這時會找到


<b:widget id='AdSense1' locked='true' title='' type='AdSense'>
這行語法,將他刪除即可。

其他的可以自行判斷,通常元件都是以b:widget為開頭的,這時再回到版面配置看網頁元素,你可以發現AdSense只剩下一個。


這時再載入新的模板,可以看到先前重複的小裝置AdSense1只剩一個,按下確認並儲存,就可更換成新模板了。


如果怕刪除錯誤,也可以將這個元件改個名稱,例如原先是id='AdSense1',將它改成id='AdSense2',這樣這行語法就可以不用刪除,這種方式也是可以的,因為id是唯一的,如果出現兩個一樣的,就會發生錯誤,謝謝阿榮教練的提醒。

如果遇到這種嵌在原始程式碼的元件,也有另一種解決方式,就是在版面配置→挑選新模版,就是先套用官方模版後再來修正,這時本來不能移動的元件會變成可以移除的狀態,例如以下,


AdSense變成一般可拖曳的狀態,很神奇吧,這時按下編輯,再將它移除就可以了,然後再上載你所要的模板xml檔即可更新成功。

以下截圖為AdSense的狀態,左邊是原先不可移除的狀態,你可以看到移除鈕不見了,後來更新為官方的模板,移除按鈕就出現了。


另外有些錯誤狀況,按下「將迷你組件範本回復為預設值」,有時也可恢復原始的狀態,但是不一定有用,通常多試幾次看看。

當然最糟的結果就是整個站砍掉,重新申請新的網址,但是這是最後的辦法,如果碰到類似的狀況,或許多試幾次就可更新模板成功了,分享一下自己換模版的經驗,因為最近的模板的功能越來越多,有時要更新還真的會出現一些錯誤情形,供大家做個參考。

補充:
Mania提到使用不同瀏覽器有時也能解決上傳模板的錯誤,大家也可以試看看,我主要是利用IE來改版,因為IE會出現的錯誤較多,而Firefox的容忍度較高,我會兩種瀏覽器都測試,不專於某一個。
阿榮教練也提供自己改版的經驗,如果元件被作者寫死了,無法移動,可以將語法,例如,b:widget id='HTML7' locked='true' title='' type='HTML'
裡的locked='true'改成locked='false',就可移動元件了,不過重複的元件還是要先刪除或是改個名稱才可以,不然一樣會出現bX碼。
以下是阿榮所提供的教學
widget(元件)與 section(區段) 相關屬性:

class 應該是該元件的 CSS 設定

id 即是該元件的名稱,在 xml 中不可重複

locked 如上方所敘述為鎖定該元件移動與否的屬性

showaddelemt 在該 section 中是否顯示「新增小工具」設定工具

title 即是該元件顯示的名稱

type 就是元件的型式;type 的相關屬性目前小弟尚未整理出來,有待各位先進發掘

true 與 false 在程式語言中,是開啟與關閉的意思

謝謝兩位願意在這和大家分享心得。

2009.2.24更新
如果最近上載模板常發生錯誤的情形,出現bx-error,可參考這篇
更換新模板時發生bX-sftlmn│bX-9281o1o│bX-bliced的錯誤訊息的解決方式。

34 則留言:

  1. 我有碰過是跟瀏覽器有關,
    有次只是加個 span 要擺東西,
    span 裡都還是空的,
    竟然不給存!
    怎麼可能?

    因為一直習慣用 firefox,
    試了好久都不行,
    想說改成用 IE 試試看,
    竟然就 OK 了!
    夠詭異吧...

    回覆刪除
  2. 綸大,你這篇文章解開我長久以來的疑惑唷~!!感謝你 ... !!

    回覆刪除
  3. 呵呵,我就是因此砍過一個站……還好是測試用途的,不然會哭死。

    回覆刪除
  4. 綸大,關於無法移動的元件,我發現在 XML 中的語法如下:

    b:widget id='HTML7' locked='true' title='' type='HTML'

    locked 這個屬性應該是將元件鎖定無法的原因。所以元件要解開移動鎖定的語法,則應該改成 locked='false',這樣一來應該可以移動元件了。

    補充一下有關 widget(元件)與 section(區段) 相關屬性:

    class 應該是該元件的 CSS 設定

    id 即是該元件的名稱,在 xml 中不可重複

    locked 如上方所敘述為鎖定該元件移動與否的屬性

    showaddelemt 在該 section 中是否顯示「新增小工具」設定工具

    title 即是該元件顯示的名稱

    type 就是元件的型式;type 的相關屬性目前小弟尚未整理出來,有待各位先進發掘

    true 與 false 在程式語言中,是開啟與關閉的意思

    以上心得與綸大與各位網友分享

    回覆刪除
  5. To Mania:真的瀏覽器也有差,謝謝你的補充。
    To 毛毛牙:曾遇到有網友是整個心血全砍掉,那真的很慘,整個還原非常麻煩,幸好現在有備份輸出了。
    To 阿榮教練,謝謝你的分享,就叫你要來寫改版心得嘛,你太謙虛了,只好我自己來寫寫了,locked我再來研究看看,你寫的那個dock menu很想拿來用,不過還沒有時間去測試。

    回覆刪除
  6. To阿榮:locked='false'確實可以讓它可以移動,不過還是要先將重複的元件先刪掉一個,不然會出現錯誤,又學到一招了,謝謝。

    回覆刪除
  7. 有關重複元件的問題,只要在 id 上改個名字再移除就好了。因為假如刪除了不該刪除的部分語法,有可能會造成不可預期的結果。這時候要在重新 debug 可能就麻煩了。

    這是我的小小見解 ...

    回覆刪除
  8. 其實改名就不用移除了,就像你說的id只能有一個,改了id後就沒有重複的問題了,更新就會成功,怕新手會刪錯,改個名稱也是另一種可以採取的方式,多個人跟我討論,真不錯,謝謝你。

    回覆刪除
  9. 我年底這次完全就是土法鍊鋼~整個刪掉重做。

    等到再幫我妹的做一次就學乖了,先存好程式碼,就快很多了,不用再去找來源了 ^^

    回覆刪除
  10. 多練幾次就駕輕就熟了,改版真的好辛苦,希望Google能在這方面再改進摟。

    回覆刪除
  11. 最近剛好幫朋友用blogger就出現這樣的問題(bx...的error)謝謝綸太郎解惑:)

    回覆刪除
  12. 你的設計網站很棒,又多了個挖寶的地方,謝謝你的留言。

    回覆刪除
  13. 原來問題是出在這裡,
    每次都是用筆記本把側邊欄位語法存起來才開始上傳新的版面,真是大功程呀@@~
    不過現在懶了都不想改版面。

    回覆刪除
  14. 我也是把側欄先存起來,所以挑個喜歡又好用的版面很重要,才不用常常想換。

    回覆刪除
  15. 太郎前輩您好:
    不好意思,Mark又來打擾您了!

    我blogspot的IE左下角會出現「已完成,但是網頁發生錯誤。」的警訊。
    而錯誤顯示的訊息視窗內容如下:
    行:1739
    字元:1
    錯誤:'_WidgetManager'未被定義
    字碼:0
    URL:http://light-moment.blogspot.com/

    請問這些訊息是什麼意思?跟模版有關係嗎?我該如何解決呢?亦或有相關文章可供我慢慢學習參考?
    感謝您百忙中的解答,謝謝您^_^

    回覆刪除
  16. Mark:

    我查到你的模板裡有關 widgetmanager 的語法 onclick='return _WidgetManager._PopupConfig(document.getElementById("LinkList1"));'

    但是 return 與 _WidgetManager 之間存在一個空格,我猜想應該是這裡出了問題。不彷試著將這個空格刪除,再試試看,或許就可以解決。

    而你這個 WidgetManager 是 java script 定義在下方,應該是有用的。(雖然我並不是很懂 java script)

    這是我的小小見解 ...

    回覆刪除
  17. 我覺得是Friend connect的留言板的問題,就像你說的是空格的問題,先前就是有問題所以我才把他撤了,線在還在測當中。

    回覆刪除
  18. 另外改模版時,常常會碰到有些 widget 很想留下來的時候,我也是會用記事本複製貼上來存檔。

    但是最近的一次,我利用兩個瀏覽器 IE 跟 FireFox 來先保留 Widget 的語法:

    1.先用 FireFox 的 IETab 開啟 IE 上的管理介面。
    2.然後用 IE 開啟「網頁元素」,將 Widget 用分頁模式一個一個打開,然後先擺著不管。切忌將這個 IE 關閉,關閉這些語法就不見了唷。
    3.然後在 FireFox 的 IEtab 上改動模板。
    4.改完之後,再將想要保留的 Widget 語法在重新設定到新的模板裡。

    以上是土法煉鋼的方式來保留 Widget。

    在網路上好像有可以直接保留的方法,只是我沒去試過。

    回覆刪除
  19. To Mark,問一下你的意見欄位置是不是設定嵌入文章內,如果是把它改回彈出式視窗或是整頁模式看看,是不是可以恢復正常。

    回覆刪除
  20. To 阿榮,其實常用的widget就那些,備份一次就夠了,有新的再加上就好了,我都是用Word存起來,再一個一個貼上,網路上那個方式,我覺得不保險,還是土法煉鋼,也不差那點時間,重要是要選到好用的模板,話說那個原來是招財符,真的很藝術。

    回覆刪除
  21. To mark,你安裝的繼續閱讀懶人版,也有人有同樣的問題,http://cjhtech.blogspot.com/2007/10/blogger-2x.html,回答裡有提出解決的辦法你再看看,照著操作應該就可以了,因為我本身沒有用這個Hacks,還有你如果意見要用嵌入的,也要修正html的程式碼,我這篇文章有提到,你可以參考看看。

    回覆刪除
  22. 綸大,你說的沒錯,只是我通常換 Widget 的速度隨著新模板而會有淘汰。不過你的做法比較正確,這樣之前的語法,縱使新模板沒用到,至少不會因此而消失,以後有需要用到還可以找的到。

    話說招財符,說真的也只是安慰自己的做法。因為怕別人會誤會些什麼,所以才藏在模板之中。但是我很好奇,你是怎麼發現的??我明明已經用黑色透明圖層隱藏起來了 ... Orz。

    回覆刪除
  23. 哈,我是看到頁尾,非全透明當然還是看得到,因為和主色有差異,怪怪的符號引起我的好奇心,就打開來看啦,你自己再想辦法解決啦,憑你的能力應該辦得到的。

    回覆刪除
  24. 神~
    果然真的是「繼續閱讀懶人版」的問題!
    我把它移除掉了。而且感覺很會拖速度!

    其實我一直想用「羊男實驗の咖啡館」的繼續閱讀,可是....語法看不懂T_T!很棒的東西,可是對菜鳥們而言實在是太難了點....

    嗚~好累!要去睡了。感謝前輩指導!

    回覆刪除
  25. 綸大果然厲害,一下子就幫 Mark 大大解決問題了!!

    回覆刪除
  26. 因為Mark 裝的Hacks不多,每一個都裝上試看看,大概就可以測出來了。

    回覆刪除
  27. 太郎前輩:
    傻瓜Mark終於成功安裝「羊男實驗の咖啡館」繼續閱讀器了^_^

    原來尋找語法位置要用Ctrl+F 呀!哈~哈~哈
    俺真是夠天的了!

    不過不枉前輩撰文教學,我又向前邁進了呦~

    回覆刪除
  28. 文章裡還沒加上<span class="full post"> 跟</span>吧,感覺好像效果還沒展現。

    回覆刪除
  29. 如果上述方法都無解呢?
    我重新建立一個blog,什麼都還沒動,也不能上載啊
    還是出現bX-*****的錯誤訊息
    而且試了蠻多個tamplate,我有看過別人套用過但我卻不行
    搞了兩天還是沒辦法

    不知道到底怎麼了....?
    希望能夠在這裡找到解答,謝謝。

    回覆刪除
  30. 你登出後,試著把瀏覽器的cookie清除,再重新登入上載模板看看,jane這個部落格,你好像有裝懶人法的繼續閱讀,先刪除看看,另一個部落格因為你沒有開放,我看不到。

    回覆刪除
  31. 唔... 我是直接套官方的,沒有裝懶人法繼續閱讀
    剛又砍掉重弄了,還是不行呢QAQ

    也照你說的方法試過了,也是無解

    回覆刪除
  32. 正在測試中,你的問題很大,連新建立的部落格都無法改模板,我還沒碰過,我努力改看看,改完再通知你。

    回覆刪除
  33. To Jane,測試過後,我猜是最近blogger官方的模板有變更,所以之前許多模版規格沒法配合最近這一兩天更新的模板,所以沒法套用

    因為很多人在blogger論壇提出一樣的問題 都在2/16-18號之間,但是官方都沒有回應

    建議你套用比較新的模板就可以成功了

    可參考這個模板網址
    http://btemplates.com/
    資源比較多 找最近一兩個月釋出的版本看看.

    回覆刪除

設有留言驗證及核准,版主閱覽後,留言才會顯示,發問前請善用網站目錄Google搜尋功能